【问题标题】:Unable to query SQL server 2008 databse from linux?无法从 linux 查询 SQL server 2008 数据库?
【发布时间】:2013-09-30 16:44:40
【问题描述】:

我编写了一个 JAVA SPRING RESTFUL 网络服务来使用 sqljdbc4 驱动程序查询 SQL Server 2008 数据库。它在 Windows 机器上运行良好,但是当我将代码部署到 Linux 机器时,我不会同时执行选择和插入查询。

我尝试使用“SET NOCOUNT ON”,但没有成功。

执行选择查询时出错 org.springframework.jdbc.UncategorizedSQLException: StatementCallback; SQL [ Select 语句的未分类 SQLException ......。 );]; SQL 状态 [null];错误代码[0];该语句没有返回结果集。嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。

执行插入查询时出错 org.springframework.dao.DataAccessResourceFailureException: PreparedStatementCallback; SQL [插入日志(id,日期时间)值(?,?)]; SQL Server 没有返回响应。连接已关闭。;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server 没有返回响应。连接已关闭。

JDBC 驱动 POM 依赖。 com.microsoft.sqlserver sqljdbc4 4.0

我尝试了一些我在谷歌上读到的其他东西,但没有运气。如果有人能指出我正确的方向,我将非常感谢帮助。

【问题讨论】:

  • 您应该更深入地查看堆栈跟踪。它说“SQL Server 没有返回响应。连接已关闭”。但为什么它被关闭了?答案应该在堆栈跟踪中。

标签: linux spring sql-server-2008 jdbc


【解决方案1】:

尝试使用 jtds 驱动程序而不是 microsoft jdbc 驱动程序。

【讨论】:

  • 我遇到了类似的问题:sqljdbc4 在 Windows 上工作,但在 Linux 上不工作,executeQuery() 语句从未返回(甚至没有异常)。尝试过 jtds,它现在适用于两种环境。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
相关资源
最近更新 更多