2017-12-21 13 views
-1

ich db2 Datenbank verwenden und ich möge DDL (Data Definition Language) alle Objekte wie Tabelle, Funktion, Ansicht usw.wie Befehl db2look mit Java verwenden

ich bin mit db2look Befehl in DB2-Befehlsfenster erhalten und es hat richtig funktioniert und ich bekomme ein Schema aller Objekte. Befehl: -

db2look -d sample -a -e -x -o fileout.txt 

Jetzt i Java-Anwendung bin schaffen, in dem ich mag folgenden Befehl auszuführen, aber es funktioniert nicht: -

connection = DriverManager.getConnection(url, user, password); 
     stmt = connection.createStatement(); 
      rs = stmt.executeQuery("execute db2look -d sample a -e -x -o FIlE_OUT.txt"); 

Zum Beispiel können wir ddlgen Befehl benutzen Sie DDL in Syabse und wir können es mit Java verwenden. Gleiches in Datenbank db2 Ich möchte db2look Befehl verwenden

Also bitte vorschlagen, wie ich db2look Befehl mit Java verwenden kann.

Antwort

0

Dies ist nur möglich, wenn Java unter demselben Hostnamen ausgeführt wird, auf dem auch die ausführbare Datei db2look ausgeführt wird. Die tatsächliche Datenbank kann remote sein, wenn Sie sie katalogisiert haben und Anmeldeinformationen in der db2look-Befehlszeile angeben und wenn die Berechtigungsnachweise über die richtige Berechtigung für die Datenbank verfügen.

Verwenden Sie zum Ausführen von db2look Ihre bevorzugte Methode zum Ausführen externer Programme von Java. Es ist eine häufig gestellte Frage "führe ein externes Programm von Java aus", also starte deine Recherche.

Ihr Codebeispiel ist falsch, da db2look nicht SQL ist, es ist ein externer Befehl. Sie können executeQuery nicht für einen externen Befehl verwenden.

Werfen Sie einen Blick auf die vielen Seiten, die Optionen zum Ausführen externer Befehle von Java zum Beispiel unter here beschreiben.

+0

Ich benutze die gleiche Maschine, wo Java und db2 beide installiert sind – shree