JDBC SQL Server连接不返回任何结果
问题描述:
我正在将目前在MYSQL下运行的应用程序转换为使用SQL Server。结果是,我有一个奇怪的情况!现有查询通过JDBC在MySQL中工作,并且在MySQL中作为命令行查询工作 - 但是,尽管在命令行中作为查询使用SQL Server工作室内部工作,但同样的查询不能通过SQL Server JDBC驱动程序工作。JDBC SQL Server连接不返回任何结果
在MYSQL JDBC下我得到一组结果,在SQL Server JDBC下我得到0个结果。
我试着查询这种方式(它在命令行中的SQL Server工作)
SELECT DISTINCT
x,
y
FROM
table1,
table2
WHERE
x = y
AND start_date <= '2015-05-15'
AND end_date >= '2015-05-15'
AND direction LIKE 'Direction';
这里面JDBC是这样的:
"select DISTINCT x, y from table1, table2" +
"WHERE x=y and start_date <= ? and end_date >= ? and direction like ?"
答
答案是,SQL服务器需要用'%'分隔%。如本例:
Using "like" wildcard in prepared statement
我们的代码工作正常使用MySQL驱动程序,但司机在这方面明显不同。我简化了该帖子,以防其他人遇到此问题并找到此帖。
也许没有关于连接条件的匹配数据? –
我检查了MYSQL和SQL Server中的数据,两者在结构和内容上都是相同的。 MYSQL版本返回2行,SQL Server返回0行。 –
你正在连接到同一个数据库作为同一个用户?是否记录了任何错误? – DaveH