2013-05-13 2 views
0

f102은 MySQL이고 두 번째 데이터베이스는 f100 인 SQL Server를 쿼리하려고합니다.SQL 쿼리의 뮬 매개 변수

MySQL 서버의 작동하지만 "# 회사로 [헤더 : INBOUND 회사]"마음에 들지 않는 SQL 서버 커넥터에 대한 쿼리 및 예외 :

루트 예외 스택 추적 :
자바 .sql.SQLException : 너무 많은 매개 변수 : 예상 0이 주어짐 1
at org.apache.commons.dbutils.QueryRunner.fillStatement (QueryRunner.java:176)
at org.apache.commons.dbutils.QueryRunner.query (QueryRunner.java:392)
at org.mule.transport.jdbc.sqlstrategy.SelectSqlStatementStrategy.executeState , 표준 (SelectSqlSt atementStrategy.java:80)
+ 3 개 (세트 디버그 수준의 로깅 또는 모든 것을 '-Dmule.verbose.exceptions 사실 =')

는 MySQL과 SQL 서버 때 호출 사이에 어떤 차이가 있습니까 쿼리에서 변수와 매개 변수를 호출합니까?

<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에 대해 구문 적으로 올바르지 않다는 것이 문제라고 생각합니다. 마찬가지로 : SELECT SQL Server에서 쿼리의 바운드 변수를 사용하는 것이 합법적입니까?

+0

답변 해 주셔서 감사 드리지만 완전히 이해할 수는 없습니다. MS SQL 서버에서 변수를 사용하는 것이 불가능하다고 생각합니까? – user1912657

+0

잘 모르겠다 : 필자는 MS SQL 서버에서 JDBC를 사용 해본 적이 없다. 따라서 SELECT 변수에서 바운드 변수를 사용할 수 있을지 모르겠다. –

+0

DBMS에 관계없이 SELECT 문에서 바운드 변수를 사용할 수 없다. – Daniel