2016-04-17 8 views
0

Javaコードを使用してPL/SQLプロシージャを実行したいとします。私はこれまでのところ、これを試してみた:Javaコードを使用してPL/SQLプロシージャを実行

Statement myStmt = null; 

myStmt = conn.createStatement(); 
myStmt.executeQuery("EXECUTE ProjetIRSTEA.detectionX"); 

そして私は、次のエラーメッセージが出ます:

java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement 

答えて

1

試してみてください。

myStmt.executeUpdate("BEGIN ProjetIRSTEA.detectionX; END"); 

あなたはまた、JDBC標準によって定義されたストアドプロシージャを呼び出す方法を使用することができます、使用したCallableStatementインターフェース:
Oracleで

CallableStatement myCall = connection.prepareCall("{call ProjetIRSTEA.detectionX()}") 
myCall.executeUpdate(); 
1

あなたはストアドプロシージャを実行するためのCallableStatementクラスを使用する必要があります。

、このクラスを使用する方法を参照するには、Oracleによって公開され、このサンプルを確認してください: https://docs.oracle.com/cd/A84870_01/doc/java.816/a81354/samapp2.htm

0

、あなたがeitheを使用することができますr CallableStatement(上で説明したように)を使用するか、StatementまたはPreparedStatementを使用して通常のSQLクエリを発行します(前者の方法が好ましい)。

String sql = " select ProjetIRSTEA.detectionX() from dual"; 
PreparedStatement stmt = conn.prepareStatement(sql); 
stmt.execute(); 

selectステートメントでシステムテーブルdualを参照する必要があることに注意してください。

関連する問題