我的计算机无法通过JDBC连接到SQL Server 2012(超时),而其他人可以

时间:2014-02-05 17:29:48

标签: java sql-server jdbc sql-server-2012 squirrel-sql

基本上,我无法通过我的tomcat Web应用程序和SQuirreL

通过JDBC连接到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 - SUCCESS!
  • 其他开发人员Tomcat - SUCCESS!
  • SQL Server 2005 SQuirreL - SUCCESS!

新的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 - SUCCESS!

我的机器

  • Windows 7
  • SQuirreL 3.5.0
  • Tomcat 6.0.18
  • Java 1.6.0_29
  • 连接字符串:jdbc:sqlserver://..com:1433
  • SQL Server Management Studio Express 2005

服务器:

  • Windows Server 2012 R2
  • SQL Server 2012(2005兼容性)

旧服务器:

  • Windows Server 2003 R2
  • SQL Server 2005

谢谢!

1 个答案:

答案 0 :(得分:0)

什么是SQL语句?由于您从Tomcat收到此错误(com.microsoft.sqlserver.jdbc.SQLServerException:该语句未返回结果集。)SQL语句是否在MSSQL 2012 Server Management Studio中工作。试试像(SELECT 1)这样简单的东西,看看是否有效。

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

工厂= “org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory”

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