0

Java アプリケーションから SQL ステートメントを実行しようとしています。

URL に対する Web サイトの制限により、この投稿では http=htp を置き換えました。

SELECT DISTINCT(DID) 
  FROM (SELECT e_id DID,
               xml_doc xml, 
               rownum rn from employee_master_indexes)," +
               " table(XMLSequence(extract(xml,'//cf:SalesReport/ext:Sales/*//j:PersonAssignedIDDetails/j:PersonID/j:ID',"+ 
              "'xmlns:j=\" htp://www.it.jvp.com/xmm/3.0.3\" 
                xmlns:xsi=\" htp://www.w3.org/2001/XMLSchema\" "  +   
               "xmlns:ext=\" htp://xml.crossflo.com/xdm/3.0.3/extension\" 
                xmlns:cf=\" htp://xml.crossflo.com/xdm/3.0.3\" ')))EMPID" +
              "WHERE extractValue(value(EMPID),'/j:ID', 'xmlns:j=\" htp://www.it.jvp.com/xmm/3.0.3\"')  LIKE '%-%-%' AND rn BETWEEN 999 AND 2001";

しかし、結局

10/05/24 11:11:51 java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了しませんでした 10/05/24 11:11:51 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java: 138) 10/05/24 11:11:51 at oracle.jdbc.driver.T4CTTIOer.processError(T4CTTIoer.java:316) 10/05/24 11:11:51 at oracle.jdbc.driver.T4CTTIOer.processError( T4CTTIoer.java:282) 10/05/24 11:11:51 oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639) 10/05/24 11:11:51 oracle.jdbc.driver で。 T4CStatement.doOall8(T4CStatement.java:113) 10/05/24 11:11:51 oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:431) 10/05/24 11:11:51 oracle で。 jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029) 10/05/24 11:11:51 oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:463) 10/05/24 11:11:51 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126) 10/05/24 11:11:51 at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1274) 10/05/24 11:11:51 at oracle_jdbc_driver_T4CStatement_Proxy.executeQuery()

SQLプロンプトでこのクエリを適切に実行できます。オラクルがこの例外を与える理由についてのガイダンスをいただければ幸いです。

4

1 に答える 1

0

特定の句を SQL に連結しているようです。それを文字列に入れてから、system.out を実行してみてください。次に、system.out の出力を取得し、SQL コマンド プロンプトとまったく同じように実行してみます。そこにあるSQLの問題がすぐにわかると思います。

2 番目の oedo です。このような SQL は見たことがありません。

于 2010-05-24T17:41:52.850 に答える