Datenbank anlegen

Status
Nicht offen für weitere Antworten.

Balian

Bekanntes Mitglied
Hallo Zusammen,

mein Programm benötig eine Datenbank. Wie implementiere ich die Installation (embedd) richtig?

Ich dachte, prüfen ob eine Connection zur Datenbank im Userhomeverzeichnis möglich ist, wenn nein Datenbank anlegen. Im schlimmsten Fall ist die Datenbank vorhanden und die Connection konnte nicht angelegt werden, allerdings würde dann die vorhandene Datenbank nicht überschrieben, sondern wirft eine Exception. So richtig, oder wie macht ihr das ?

Gruß

Balian
 

Acha

Bekanntes Mitglied
Erst einmal muß die Datenbank (egal welche) schon vorhanden und installiert sein. Dann brauchst Du einen eingerichteten Nutzer, mit dem Dein Programm testen kann, ob eine Connection zur DB möglich ist. Danach wird geprüft, ob die Tabelle, mit welcher Du arbeiten willst, vorhanden ist. Wenn nein, wird sie angelegt (CREATE TABLE ...), wenn ja, kannst Du Datenmanipulationen in der Tabelle vornehmen (Insert/Delete/Update/Select). So hab ich Deinen Post zumindest verstanden...

Wo genau hast Du da jetzt ein Problem? Worauf bezieht sich Deine Frage? ...

MFG

Acha
 

Balian

Bekanntes Mitglied
Also ich verwende eine HSQLDB im emmbed-Modus. In Eclipse habe ich mir eine Klasse erstellt, die mir eine Datenbank mit Ausgangsdaten erstellt.

Ich führe also diese Klasse aus, um eine Datenbank zu erstellen.

Dann teste ich fröhlich meine Anwendung mit dieser Datenbank.

Nun möchte ich mein Anwendung auf einem anderen Rechner testen und kann eine jar erstellen etc. In der Anwendung ist aber die Klasse zur Erstellung der Datenbank nicht vorhanden. Heisst ich habe ein Jar-File mit der Anwendung, aber ohne Datenbank.

Nun meine Überlegung, wie bekomme ich die Datenbank auf den anderen Rechner. Okay, wahrscheinlich die Klasse direkt ins Programm einbauen (kein Problem). Wie kann ich eine Prüfung einbauen, dass die Anwendung nicht bei jedem Programmstart dann versucht das Datenbankskript auszuführen?

Ich hoffe, es ist jatzt ein wenig verständlicher. :(

Gruß

Balian
 
G

Gast

Gast
hmm Klassen werden nicht einfach so ausgeführt. Das musst du schon selber machen.

Verstehe dein Problem nicht.
 
G

Guest

Gast
Also das ist mir klar...... :)

Ich wollte einfach nur wissen wie ihr vorgeht.

Bei Anwendungsstart prüfen, ob Connection zur Datenbank hergestellt werden kann, wenn nicht, dann Datenbank anlegen? Ist so Eurer Algorithmus, zur Prüfung, ob die Datenbank schon angelegt ist?

Gruß
 

Balian

Bekanntes Mitglied
Also ich muss jetzt nochmal nerven. Ich versuche im Programm eine Connection zu einer HSQL-Datenbank aufzubauen. Standardmäßig ist es ja bei HSQL, so dass er erst versucht, die Connection aufzubauen. Findet er keine Datenbank, so legt er diese automatisch an. Richtig ??


Okay, was wenn die Connection nicht aufgebaut werden kann und es schon eine Datenbank gibt? Wird die vorhandene Datenbank dann überschrieben?

Gruß

Balian

Ps.: Hab in der HSQLDB-Doku keine SQL-Syntax für die Überprüfung gefunden, ob eine Tabelle existiert. Weiß das Jemand?
 
G

Geekhead

Gast
Also mal so als Checkliste

- hsqldb hast du als Userlib angelegt?
(Windows - Preferences - Java - Build Path - User Libs)
Dort kannst du deine gernellen externen Jars allgemein verwalten und in Projecte einfügen
- in deinem Project hast du die hsqldb als userlib eingefügt?

Wenn das zutrifft, dann suchst du ein Plugin namens "Fat Jar".
Damit kannst du deine Anwendung in ein einzelnes Jar expotieren (was du zwar auch so kannst, aber...), welches alle benötigten (in deinem Fall hsqldb.jar) mit reinpackt und verwaltet!

Grüße Geekhead
 
G

Guest

Gast
Balian hat gesagt.:
Also ich muss jetzt nochmal nerven. Ich versuche im Programm eine Connection zu einer HSQL-Datenbank aufzubauen. Standardmäßig ist es ja bei HSQL, so dass er erst versucht, die Connection aufzubauen. Findet er keine Datenbank, so legt er diese automatisch an. Richtig ??


Okay, was wenn die Connection nicht aufgebaut werden kann und es schon eine Datenbank gibt? Wird die vorhandene Datenbank dann überschrieben?

Gruß

Balian

Ps.: Hab in der HSQLDB-Doku keine SQL-Syntax für die Überprüfung gefunden, ob eine Tabelle existiert. Weiß das Jemand?


1. Wenn er die Datenbank nicht Findet legt er eine neue an.
2. Kann keine Connection aufgebaut werden ist dein Passwort oder User nicht korrekt. Und er überschreibt sie in diesem Fall nicht und erstellt auch keine neue.

Ich hätte da auch mal eine Frage wenn die DB nicht exestiert wie kann ich eine anlegen ohne denn Standart User mit dem Standart Passwort?

Vielen Dank im Voraus
 
G

Guest

Gast
Ich benutze JavaDB und wüsste auch gerne ob es eine elegantere Variante gibt, zu prüfen ob eine Datenbank bereits angelegt wurde.
Den Treiber lade ich zur Laufzeit mit der DriverShim-Klasse, die ich bei Google gefunden habe.

Dann versuche ich eine Verbindung aufzubauen
Code:
verbindung = DriverManager.getConnection("jdbc:derby:"dbName, username, pw)
per try catch ermittelt ich die SQLException und vergleiche den errorcode mit 40000 (ist zumindest bei JavaDB der Fehlercode für eine nicht gefundene DB)
Code:
} catch (Exception e) {
			if (((SQLException) e).getErrorCode() == 40000){
				try {
					openConnection("jdbc:derby:"dbName+";create=true", username, pw);
				} catch (SQLException e1) {
					e1.printStackTrace();
				}				
			}
}
Durch den Zusatz ";create=true" wird bei JavaDB eine neue Datenbank angelegt, eine Vorhandene würde überschrieben werden.
Bei jeder DB ist das wohl etwas anders, wie der Befehl bei HSQL aussieht müsste in der dazugehörigen Reference stehen.

Und für jeden, der den Sinn davon nicht versteht.

Wenn ich eine Anwendung habe die eine lokale Datenbank verwendet, muss diese natürlich beim ersten Start angelegt werden.Man kann zwar vor der Weitergabe des Programms eine leere DB mitgeben, aber es kann hilfreich sein, wenn man beim Verlust dieser DB, automatisch eine neue erzeugt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Bilder in Datenbank speichern - sinnvoll Allgemeine Java-Themen 5
S Kochbuch bzw. Rezepte-Datenbank app mit Swing..? Allgemeine Java-Themen 5
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
B API Token in Datenbank ablegen? Allgemeine Java-Themen 9
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
Q-bert Strings aus der JList in eine Datenbank speichern Allgemeine Java-Themen 1
Meeresgott Kapselung Tabellen der Datenbank erzeugen. Allgemeine Java-Themen 7
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
looparda Unit Test - Abgänigkeit zur Datenbank isolieren Allgemeine Java-Themen 3
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
O 2 Combobox in Abhängigkeit von der 1 Combobox (Datenbank) Allgemeine Java-Themen 1
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
F OOP Datenbank-Klasse überall verfübar Allgemeine Java-Themen 2
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
T Zugriff auf Datenbank Allgemeine Java-Themen 1
G Datenbank von nöten? Allgemeine Java-Themen 7
3 Backup von h2-Datenbank-Datei erstellen Allgemeine Java-Themen 6
S Java DateTime für Datenbank Allgemeine Java-Themen 4
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
P MYSQL Datenbank Dump einspielen Allgemeine Java-Themen 1
M SQL Datenbank in JAVA Projekt Allgemeine Java-Themen 3
P iTunes Datenbank manipulieren Allgemeine Java-Themen 2
A Ausführbare Java-Datei aus Projekt und Datenbank Allgemeine Java-Themen 3
T Datenbank oder Filesystem? (E-Learning) Allgemeine Java-Themen 2
N Datei aus Datenbank öffnen mit Standardanwendung Allgemeine Java-Themen 2
J Datenbank und OO-Aufsatz Allgemeine Java-Themen 9
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
P Klassen Template-Klasse für Datenbank-Abfragen erstellen Allgemeine Java-Themen 2
E JAVA Alternativen zur Datenbank? Allgemeine Java-Themen 7
Dit_ GeoKoordinaten Datenbank (nicht nur Städte) Allgemeine Java-Themen 6
J Progress Bar während Datenbank Erstellung Allgemeine Java-Themen 2
C Datenbank - Textfiles - Anderes Allgemeine Java-Themen 34
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
G JNDI/LDAP/Datenbank Allgemeine Java-Themen 2
Meldanor Speichern der Datenbank - Lohnen sich mehrere Threads? Allgemeine Java-Themen 2
hdi [Free Download] Film-Datenbank Allgemeine Java-Themen 30
G Excel-Daten in Datenbank speichern - Problem mit leeren Feldern Allgemeine Java-Themen 7
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
C Java Polling, Server Prozedur oder doch Datenbank? Allgemeine Java-Themen 4
H .dbf (IV) Datenbank einlesen Allgemeine Java-Themen 9
D Recipes / Codeschnipsel Datenbank für Java? Allgemeine Java-Themen 3
T MySQl Datenbank als Array ausgeben Allgemeine Java-Themen 11
M Rechenweg in Datenbank speichern und nutzen Allgemeine Java-Themen 6
O viele Datensätze aus Datenbank - Java Heap Space - Excepion Allgemeine Java-Themen 25
E Datenbank/iBatis Fehlermeldung Allgemeine Java-Themen 4
G Datenbank zur laufzeit wechseln Allgemeine Java-Themen 11
N ClassLoader - Laden von Bytecode aus einer Datenbank Allgemeine Java-Themen 6
S Speicherung von Daten: Datenbank(sql) oder xml? Allgemeine Java-Themen 9
F Vector in eine Datenbank speichern? Allgemeine Java-Themen 3
A Problem beim Starten der H2-Datenbank Allgemeine Java-Themen 4
S Datenbank Abfragen mit großen Datenmengen Allgemeine Java-Themen 22
G Datenbank-Anwendung schnell erstellen. Allgemeine Java-Themen 7
P Datenbank Tabelle spiegeln Allgemeine Java-Themen 22
E MySQL-Datenbank <-> HashMap/TreeMap Allgemeine Java-Themen 1
P Zugriff auf die DatenBank Allgemeine Java-Themen 44
H Daten aus MySQL datenbank auslesen und in ArrayList stecken Allgemeine Java-Themen 8
P Timestamp in eine Firebird-Datenbank einfügen Allgemeine Java-Themen 6
P Java Acces Datenbank Problem ! (Brauche eine Abfrage) Allgemeine Java-Themen 5
N Datenbank vs. Filesystem Allgemeine Java-Themen 5
F datenbank oder csv etc Allgemeine Java-Themen 6
V Brauche Beratung in Sachen Java+Datenbank+Web Allgemeine Java-Themen 8
G Ab wann Datenbank verwenden Allgemeine Java-Themen 15
H sichere Datenbank-Verbindung Allgemeine Java-Themen 4
H Datenbank an ein Java Client Server Programm anschliessen Allgemeine Java-Themen 3
F lizenzfreie Datenbank für JAVA-Anwendung Allgemeine Java-Themen 3
S Zeilenausgabe Datenbank Allgemeine Java-Themen 2
S Datenbank Allgemeine Java-Themen 9
G Sichere Passwortübergabe bei Datenbank Allgemeine Java-Themen 14
L Datenbank Abfrage (Felder&Tabelle nicht fix) in ArrayLis Allgemeine Java-Themen 4
S Java Datenbank auf Festplatte installieren Allgemeine Java-Themen 2
G JComboBox mit Werten aus einer Access Datenbank füllen Allgemeine Java-Themen 18
T Java Application Server + Datenbank von CD Allgemeine Java-Themen 8
G Abfrage in datenbank Allgemeine Java-Themen 5
G Daten aus MySQL-Datenbank an JFreeChart übergeben Allgemeine Java-Themen 3
D Userdaten + Datenbank? Allgemeine Java-Themen 11
G HSQLDB Datenbank-Dateien aus Jar-Datei lesen Allgemeine Java-Themen 5
Noahscript Konto anlegen um JDK herunterzuladen? Was soll das? Allgemeine Java-Themen 1
P Eclipse Projekt anlegen macht Problem Allgemeine Java-Themen 1
F JTree: Nodes dynamisch anlegen via LinkedHashMap Allgemeine Java-Themen 2
A Datenstrukturen richtig anlegen/laufzeitanalyse Allgemeine Java-Themen 10
M Klassen Systemprozess anlegen Allgemeine Java-Themen 3
B Java FTP (common net - user anlegen) Allgemeine Java-Themen 2
T ArrayList<double[]> persitent anlegen Allgemeine Java-Themen 7
H Ordnerstruktur anlegen Allgemeine Java-Themen 10
G Ordnerstruktur anlegen Allgemeine Java-Themen 2
H2SO3- dynamisches anlegen der dimensionaltität eines arrays Allgemeine Java-Themen 6
S Problem beim Anlegen eines JDialogs! Allgemeine Java-Themen 4
MQue Ordner anlegen Allgemeine Java-Themen 7
V Neues Objekt anlegen, welcher Typ? Allgemeine Java-Themen 2
M JFileChooser: Ordner anlegen Allgemeine Java-Themen 3
C Temporäre Datein anlegen Allgemeine Java-Themen 2
E Problem beim Anlegen einer Datei Allgemeine Java-Themen 4
G FileOpenDialog Pfad anlegen? Allgemeine Java-Themen 2
S In .jar File Verzeichnisse anlegen Allgemeine Java-Themen 2
D Datei beim ersten Programmstart anlegen? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben