0

JDBC でプロシージャを作成または置換するにはどうすればよいですか? Oracle でプロシージャを作成しましたが、Java からプロシージャを置き換えることができません。

私は以下を持っていますが、動作しません:

Statement stmt0 = conn.createStatement();
String query0 =
"CREATE OR REPLACE PROCEDURE my_proc " +
//blah blah blah
//blah blah blah
//blah blah blah
"END; " +
". " +
"run; ";
stmt0.execute(query0); 

オンライン チュートリアルから、次のようなものを使用することになっていることがわかります。 cstmt = conn.prepareCall (SQL); しかし、私はそれを機能させることができませんでした。

私のコードをもっと見たい場合は、提供します。

4

1 に答える 1

0

まず第一に、あなたはこれを行うことができます。

まず、jdbcから準備して実行する必要があります。

次に、最後の行を「。」と「run;」で切り取る必要があります。これらはSQL*Plusから直接取得されたように見えます。

Java文字列に改行を入れていないことに注意してください。ただし、それは問題ではありません。必要な末尾のスペースを追加したようです。

実行する前に、文字列のloggingまたはsystem.out.printlnをお勧めします。

現在DBMSはありませんが、次のようになります。

String sqlproc = 
    "CREATE OR REPLACE PROCEDURE FRED IS \n" +
    "BEGIN NULL; END FRED;";

System.out.println ("proc code: " + sqlproc);
Statement stmt = conn.prepareStatement (sqlproc);
stmt.execute();
于 2012-04-24T02:58:14.450 に答える