0

我正在尝试使用 Spring JDBCTemplate (org.springframework.jdbc.core.JdbcTemplate) 在 Sybase 数据库上运行查询

以下是我的代码:

String query = "SELECT * FROM Table_A a WHERE a.col1 LIKE ? AND a.col2 LIKE ?";
getJdbcTemplate().query(query , new String[] { stringParam1, stringParam2}, new MyMapper());

上面的代码抛出这个错误:

 Exception occurred org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 
bad SQL grammar [SELECT * FROM Table_A a WHERE a.col1 LIKE ? AND a.col2 LIKE ?]; nested exception is java.sql.SQLException: 
Function LIKE invoked with wrong number or type of argument(s).

相同的查询在 sql server 上运行良好。知道 Sybase 应该做些什么不同的事情吗?

4

1 回答 1

0

您需要将问号封装在引号中,以便 Sybase 将其视为一个char值,这是查询中预期的参数类型。

于 2013-07-11T03:22:49.367 回答