在java中使用Spring JDBCTemplate的Sybase查询错误

时间:2013-07-10 23:13:29

标签: sybase jdbctemplate spring-jdbc

我正在尝试使用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应该做些什么?

1 个答案:

答案 0 :(得分:0)

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