create database mit jdbc
- Dieses Thema hat 4 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 17 Jahre, 6 Monaten von
Anonym.
-
AuthorPosts
-
28. Januar 2006 um 14:37 Uhr #2652
AnonymGastHallo,
ich bin neu im umgang DB2.
Kann mir jemand helfen, wie ich eine neue DB2
Datenbank via JDBC DataSource (aus Application Server) erstellen kann.
Insbesondere habe ich keine doku darueber gefunden welche Connection (zu welcher DB?) man da eigentlich verwenden kann. Ich habe bisher versucht auf eine existierende DB als DBA zu konnektieren.
Dann habe ich ein Statement abgesetzt:
CREATE DATABASE test USING CODESET ‚UTF-8‘ TERRITORY DE COLLATE USING SYSTEMDieses Statement funktioniert, wenn ich es via Befehszeilentool absetze.
via jdbc kommt aber:
DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: test USING CODESET ‚UTF-8‘ TERRITORY DE COLLA;CREATE DATABASE ;<space>merci und beste gruesse,
Christian28. Januar 2006 um 17:09 Uhr #3067
AnonymInaktivHallo Christian,
so funktioniert es wahrscheinlich nicht. Nach einem connect an die DB sind nur reine SQL Befehle gegen sie Datenbank möglich, als SELECT, INSERT, UPDATE und DELETE.
Im eigentlichen Sinn ist CREATE DB ja auch kein SQL Befehl.
Ich fürchte, die DB muß schon angelegt sein bevor man sie mit JDBC ansprechen kann.
Ich kann mich da aber auch Irren. Ich bin nur Systemer und kein Entwickler.
Viel Erfolg
Friedmar
28. Januar 2006 um 18:59 Uhr #3362
AnonymGasthallo Friedmar,
hmm, das waere schon komisch wenn das nicht ginge (z.b. auf oracle und postgresql geht’s ja auch ….)
vielleicht gibt es ja doch einen trick ….
beste gruesse,
christian
31. Januar 2006 um 13:17 Uhr #3546
AnonymInaktivHi Christian,
CREATE DATABASE ist in DB2 für LUW kein SQL-Befehl, sondern ein Command-Line-Befehl (oder Kommando) und kann daher nicht über die SQL-Schnittstelle abgesetzt werden. Das ist eben ein Unterschied zu anderen RDBMSs (auch in DB2 für z/OS ist der CREATE DATABASE ein SQL-Befehl).
MfG
AxelP
30. März 2006 um 13:26 Uhr #3674
AnonymInaktivHi,
die einzige Möglichkeit in Java/JDBC um eine DB2- Datenbank zu erstellen, die ich kenne, ist folgende:
1. Man erstellt im Programm eine Textdatei (z.B. dbcreate.txt) mit den benötigten Befehlen und arbeitet sie in der Runtime-Umgebung ab.
Befehl: cmd="db2cmd.exe -c -w db2 -tvf dbcreate.txt";2. Ausführen in der Runtime-Umgebung. Einfach in der Runtime-Umgebung die Exec-Methode starten und sich den daraus resultierenden Process geben lassen. Mit p.waitFor() das Java-Programm solange warten lassen bis das db2-Fenster geschlossen und die Datenbank erstellt ist.
try
{
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
}
catch(Exception e){}Hoffe es hilft Dir etwas weiter.
Gruß
Holger
-
AuthorPosts
You must be logged in to reply to this topic.