0

所以基本上,我无法通过 JDBC 通过我的 tomcat Web 应用程序和 SQuirreL 连接到 SQL Server 2012

我尝试替换多个版本的 sqljdbc jar 文件。奇怪的是,我的同事能够成功连接!

此外,所有 jar 都成功连接到不同的 SQL Server 2005。

SQL Server Management Studio 2005 express(在我的机器上)可以毫无问题地连接到 SQL Server 2005 和 2012。

Tomcat 资源设置:

<Resource auth="Container" description="a Database Connection" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" logAbandoned="true" maxActive="300" maxIdle="50" maxWait="10000" name="jdbc/SomethingPool" password="PW" removeAbandoned="true" removeAbandonedTimeout="60" type="javax.sql.DataSource" url="jdbc:sqlserver://<SOMETHING>.<DOMAIN>.com:1433;databaseName=dbname;" username="USER"/>

旧的 SQL JDBC 版本(抱歉,不知道如何查看版本):

  • SQuirreL 测试连接超时
  • SQuirreL 连接 - 超时
  • Tomcat - 超时
  • 其他开发商 SQuirreL - 成功!
  • 其他开发者 Tomcat - 成功!
  • SQL Server 2005 SQuirreL - 成功!

新的 SQL JDBC 版本(最近从http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx下载):

  • SQuirreL 测试连接 - 成功!也很奇怪
  • SQuirreL 连接 - 超时
  • Tomcat - com.microsoft.sqlserver.jdbc.SQLServerException:语句未返回结果集。
  • 其他开发商 SQuirreL - N/A
  • 其他开发者 Tomcat - N/A
  • SQL Server 2005 SQuirreL - 成功!

我的机器

  • Windows 7的
  • 松鼠 3.5.0
  • 雄猫 6.0.18
  • Java 1.6.0_29
  • 连接字符串:jdbc:sqlserver://..com:1433
  • SQL Server 管理工作室速成版 2005

服务器:

  • 视窗服务器 2012 R2
  • SQL Server 2012(2005 兼容性)

旧服务器:

  • 视窗服务器 2003 R2
  • SQL 服务器 2005

谢谢!

4

1 回答 1

0

什么是 SQL 语句?由于您从 Tomcat 收到此错误(com.microsoft.sqlserver.jdbc.SQLServerException:该语句未返回结果集。)SQL 语句是否在 MSSQL 2012 Server Management Studio 中工作。只需尝试类似 (SELECT 1) 之类的简单操作,看看是否可行。

在 Tomcat 上,请提供资源配置。您可以尝试使用 Tomcat 提供的内置连接池。

factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

由于是超时,您可能遇到了网络问题。ping 是否成功?您可以远程登录到 1433 并查看防火墙是否阻止了您的连接?

于 2014-02-05T18:00:06.607 回答