Driver.getConnection 使用 SQLServer 驱动程序和 Java 1.6.0_29 挂起

2022-09-01 17:31:40

我不知道在哪里写一些关于这个的东西,并决定在这里做。

在调试我的程序后,我发现调用Driver.getConnection(字符串,字符串,字符串)会挂起调用线程。为什么(?),我真的不知道,但我可以发现这发生在java 1.6.0_29而不是java 1.6.0_26上。

全环境:

  • 操作系统:在 Redhat 6.1 和 Windows 2008 上都经过测试

  • 驱动程序: MS SQL Server JDBC 驱动程序版本 3.0.1301.101

  • Java 版本:1.6.0_26 和 1.6.0_29

正如我之前所说,它适用于1.6.0_26。

有没有人知道是什么原因造成的?也许是一些开发人员?:p

此致敬意


答案 1

我遇到了完全相同的行为:

我在我的Windows 7 64bit PC上同时使用Oracle XE和MS SQL Server Express - 我从1.6.0_27(x64版本)升级到java 1.6.0_29,并且惊讶地看到相同的程序能够连接到Oracle XE但不能连接到MS SQL Server...

我将问题追溯到它永远挂起的地方 - 因为这只是一个接口,jdbc驱动程序引起了我的怀疑......javax.sql.DataSource.getConnection()

我正在使用MS SQL Server JDBC驱动程序3.0.1301.202,我甚至更新到SQL Server CTP(“社区技术预览”)4.0.1722.1,因为我怀疑它必须对jdbc驱动程序做些什么 - 但没有成功:仍然挂起!

我的解决方法是降级到1.6.0_27和 - 砰:一切都很好!

最好的问候埃里希


答案 2

已重现:组合使用 时出现问题

  • SQL 驱动程序 2.0
  • SQL 驱动程序 3.0
  • SQL 驱动程序 4.0 CTP 3
  • jTDS SQL 驱动程序 1.2.5

  • SQL Server 2008R2

  • Java 1.6.0_29

更改 SQL Server 版本(在 2005 和 2008 上测试)或 Java 版本(1.6.0_27、1.7.0_1),问题不再出现。

客户端/服务器操作系统: 视窗 2008R2

添加到Java Bug数据库中,并且正在由Oracle处理。

交叉发布在Microsoft MSDN Data Access Forum(接受的答案:升级到java 7)和Oracle Java JDBC论坛上(此处添加的信息,也添加到Java Bug数据库中)。


推荐