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

我不知道该写些什么,并决定在这里做。

懒惰的时间debugging我的程序后,我可以发现调用Driver.getConnection(string,string,string)挂起调用线程。 为什么(?),我真的不知道,但我可以发现这发生在java 1.6.0_29而不是java 1.6.0_26。

完整的环境:

  • 操作系统:testing在红帽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

最好的祝福,

我遇到了完全一样的行为:

我在Windows 7 64位个人电脑上同时使用Oracle XE和MS SQL Server Express – 我从1.6.0_27(x64版本)升级到java 1.6.0_29,并且惊讶地发现,能够连接到Oracle XE的程序相同不是MS SQL Server …

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

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

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

最好的问候Erich

转载:组合出现问题

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

  • SQL服务器2008R2

  • Java 1.6.0_29

更改SQL服务器版本(2005和2008年testing)或Java版本(1.6.0_27,1.7.0_1),并且问题不再发生。

客户机/服务器操作系统:Windows 2008R2

添加到Java Bug数据库 ,并正在由Oracle工作。

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

请参阅此处的解决schemehttps://forums.oracle.com/forums/thread.jspa?messageID=9954398&tstart=0 http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/97dce8fd-6487-4bca -80b0-492167db3e0d

“显然,这与SSL的使用有关,可以通过将jre / lib中的jsse.jarreplace为早期版本中的jsse.jar来缓解,例如1.6.0_27版本之外的版本。我被1.6.0_29使用MS JDBC和较旧的SQL Server '05设置,这些设置没有进行安全连接,所有较新的服务器(SQL Server '08 R2)因为需要SSL而失败,而Java 1.6.0_29在这种情况下无法使用jTDS或MS JDBC “。

作为一个供参考,似乎有一个新的步骤build立#30在1.6家庭修复了这个问题: http : //bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103725

我有相同的挂起问题,只有与java 1.6.0_29。 我注意到如果升级到7.1,问题就会消失

我很高兴我find了这个论坛。 升级时遇到同样的问题(我实际上是从1.6.0_22升级到1.7.1,然后降级到1.6.0_29,问题发生了。

还有一件事我已经注意到了:如果我使用1.6.0_29 jre,它会失败,但是如果我使用1.6.0_29 jdk,它可以工作…我花了大概一天的时间来testing为什么eclipse(使用jre)失败,而myEclipse(这是使用jdk)正在工作….

一个错误如何引入到这样一个迟到的版本? (我正在做一个Java产品版本的build议)。

同样的问题在这里(SQLJDBC4,MsSQL 2008 R2,JDK1.6.0.29),但更新到1.6.0.30问题后,解决了… … –

所以它应该是1.6.0.29的DriverManager中的一个重要的bug

升级到1.6.0_30也为我工作。 微软在2012年第一季度发布了一个宣布修复的声明 。 它看起来像是一个Java漏洞(BEAST)。

我有完全相同的问题,jBoss将挂在driver.getConnection()。 不过,我使用jBoss EAP 5.1,java 1.6.0_37x64,Sql Server 2005和jtds1.2.5作为我的jdbc驱动程序。

我必须使用的工作是在启动时的jvm设置:-Djsse.enableCBCProtection = false并解决它。

我不认为这是一个解决办法,而是在这一点上的解决办法。

我确实发现了一个bug: 7105007:更新到1.6.0_29后,Microsoft&jTDS JDBC驱动程序中断,这个驱动程序非常相似,但是原因不同。 有趣的是,它出现在MS司机和jtds司机。