2016-07-28 47 views
0

我試圖在DB2 10.1 Windows上使用JDBC運行多語句查詢,但它失敗並出現語法錯誤。以下是查詢 -在DB2窗口上使用JDBC運行多語句查詢

SELECT * FROM schemaname.tablename; 

異常線程「main」 com.ibm.db2.jcc.am.SqlSyntaxErrorException:意外的標記「」之後發現「」。預期標記可能包括:「schemaname.tablename」 .. SQLCODE = -104,SQLSTATE = 42601,DRIVER = 4.13.127

我明白,這將在查詢的末尾分號自帶由於這數據庫不理解。我怎樣才能設置查詢分隔符爲分號,所以通過這個。

+0

你在說什麼這個「多語句查詢」?可能你可能會顯示一些導致錯誤的代碼? – mustaccio

+0

它基本上是SELECT * FROM schemaname.tablename1; SELECT * FROM schemaname.tablename2;兩個查詢用分號分隔。但是,我的要求並不完全如此。我需要運行以分號結尾的查詢,因爲它們以這種方式進行編碼,並且可以在DB2 for z/OS上正常運行,所以我需要運行DB2 for Windows。我沒有選擇更改查詢。 – User2709

+1

這些都不可能。一次只能發佈一條語句,除非使用[複合語句](http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.apdv.sqlpl.doc/ doc/c0053781.html),它不應該有任何終止符(因爲終止符不是SQL語法的一部分)。 – mustaccio

回答

0

使用JDBC,您一次執行一條語句;從外觀上看,DB2不支持它。一些驅動程序/數據庫可以解決這個問題,但它是非標準的。

因此,不是一次嘗試執行兩條語句,而是需要一個接一個地執行它們。

+0

奇怪的是,它適用於DB2 for z/OS,但我還沒有發現Windows版本的很多信息。 – User2709

+0

@ User2709據我所知,沒有一個'DB2',有多種變體都稱爲DB2,並且功能和支持因平臺和變體而異。 –