2012-04-24 13 views
0

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

私は、次のを持っていますが、それは動作しません:

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)を。 しかし、私はそれを動作させることができませんでした。

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

+0

のようなものであるべきで、「」、「実行;」? –

答えて

0

まず、これを行うことができます。

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

第2に、最後の行をSQL​​ * Plusのように見える「。」と「実行」で切り捨てる必要があります。

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

実行する前に、文字列のロギングまたは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(); 
+0

ご協力いただきありがとうございます。残念ながら、私はまだ成功していません。 Javaのコードのこのセクションをスキップしているようです。この手順はうまくいき、SQLPlusで実行しました。私はJavaコードに何かを残す必要があります。 – user1352669

関連する問題