2013-05-13 65 views
0

我試圖查詢兩個數據庫f102這是MySQL和f100這是SQL Server。SQL查詢中的騾參數

查詢到MySQL服務器的作品,但在SQL Server連接器不喜歡「#[標題:入境:公司作爲公司」,並拋出:

根異常堆棧跟蹤:
的java .sql.SQLException:參數太多:期望值爲0,在org.apache.commons.dbutils.QueryRunner.query上給出了1
at org.apache.commons.dbutils.QueryRunner.fillStatement(QueryRunner.java:176)
(QueryRunner.java:392)
at org.mule.transport.jdbc.sqlstrategy.SelectSqlStatementStrategy.executeState換貨(SelectSqlSt atementStrategy.java:80)
+ 3個(組調試級別日誌記錄或一切 '-Dmule.verbose.exceptions =真')

是否有打電話MySQL和SQL Server時之間的差異它來調用查詢中的變量和參數?

<jdbc:connector name="db_conn_f102" dataSource-ref="f102" pollingFrequency="5000" doc:name="Database" validateConnections="false"> 
    <jdbc:query key="read" value="SELECT ID , #[header:INBOUND:company] as company FROM AcTr"/> 
</jdbc:connector> 

<jdbc:connector name="db_conn_f100" dataSource-ref="f100" pollingFrequency="5000" doc:name="Database" validateConnections="false"> 
    <jdbc:query key="readickr" value="SELECT ID, #[header:INBOUND:company] as company FROM AcTr"/> 
</jdbc:connector> 

回答

0

就數據庫類型而言,查詢中的變量分辨率沒有區別。

我認爲問題在於生成的SQL查詢在語法上對於SQL Server不是正確的。像:在SQL Server查詢的SELECT部分使用綁定變量是否合法?

+0

感謝您的回覆,但我無法完全理解它。你認爲在MS SQL服務器上使用變量是不可能的嗎? – user1912657 2013-05-13 21:07:18

+0

我不知道:我從來沒有在MS SQL Server上使用過JDBC,所以我不知道是否可以在'SELECT'部分使用綁定變量而不使用'WHERE'子句,它顯然應該起作用。 – 2013-05-13 21:27:34

+0

不管DBMS如何,你不能在SELECT語句中使用綁定變量 – Daniel 2013-05-13 23:19:45