我正在尝试查询两个数据库f102
,一个是 MySQL,f100
一个是 SQL Server。
对 MySQL 服务器的查询有效,但 SQL Server 连接器不喜欢“#[header:INBOUND:company] as company”并抛出:
根异常堆栈跟踪:
java.sql.SQLException:参数过多:预期为 0,
在 org.apache.commons.dbutils.QueryRunner 的 org.apache.commons.dbutils.QueryRunner.fillStatement(QueryRunner.java:176)
中给出 1 .query(QueryRunner.java:392)
at org.mule.transport.jdbc.sqlstrategy.SelectSqlStatementStrategy.executeStatement(SelectSqlStatementStrategy.java:80)
+ 3 个以上(设置调试级别日志记录或'-Dmule.verbose.exceptions=true'一切)
在查询中调用变量和参数时,调用 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>