JDBC SQL Server连接不返回任何结果

时间:2015-05-14 11:07:22

标签: java mysql sql-server jdbc

我正在将当前在MYSQL下运行的应用程序转换为使用SQL Server。结果是,我有一个奇怪的情况!现有查询在MySQL中通过JDBC工作,并在MySQL内部作为命令行查询工作 - 但是,尽管在SQL Server工作室内从命令行作为查询工作,但同样的查询无法通过SQL Server JDBC驱动程序工作。

在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 ?"

1 个答案:

答案 0 :(得分:0)

答案是SQL Server需要'like'分隔%%。如下例所示:

Using "like" wildcard in prepared statement

我们的代码在MySQL驱动程序中运行良好,但驱动程序在这方面明显不同。我已经简化了帖子以防其他人遇到这个问题,并找到了这篇文章。