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



我不知道在哪里写,所以决定在这里写。

经过很长时间的调试我的程序,我可以发现调用驱动程序。getConnection(string, string, string)挂起调用线程。为什么(?),我真的不知道,但我可以发现这发生在java 1.6.0_29而不是java 1.6.0_26。

完整的环境:

  • 操作系统:在redhat 6.1和Windows 2008上测试

  • 驱动程序:MS SQL Server JDBC Driver version 3.0.1301.101

  • Java版本:1.6.0_26和1.6.0_29

正如我之前所说的,它可以在1.6.0_26上工作。

有谁知道这可能是什么原因吗?也许是某个开发人员?: p

最诚挚的问候,

Rui

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

我在Windows 7 64位PC上使用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和——砰:一切又好了!

致以最亲切的问候

转载:

组合出现问题
    SQL driver 2.0SQL driver 3.0SQL driver 4.0 CTP 3
  • jTDS SQL Driver 1.2.5

  • SQL server 2008R2 Java 1.6.0_29

更改SQL server版本(在2005 &Java版本(1.6.0_27,1.7.0_1),问题不再发生。

Client/Server OS: Windows 2008R2

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

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

查看这里的解决方案https://forums.oracle.com/forums/thread.jspa?messageID=9954398&tstart=0http://social.msdn.microsoft.com/forums/en/sqldataaccess/thread/97dce8fd - 6487 - 4 - bca - 80 - b0 - 492167 - db3e0d

"显然,这与SSL的使用有关,可以通过将jre/lib中的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无法工作。

作为一个参考,似乎在1.6系列中有一个新的步骤构建#30修复了这个问题:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103725

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

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

还有一件事我已经注意到:如果我使用1.6.0_29 jre,它失败了,但如果我使用1.6.0_29 jdk,它工作…我花了大约一天的时间试图弄清楚为什么eclipse(使用jre)失败,而myEclipse(使用jdk)工作....

一个bug怎么会被引入到这么晚的版本中呢?(我正在做一个java产品版本推荐)。

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

所以它应该是一个关键的错误在1.6.0.29的DriverManager

升级到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: Microsoft &jTDS JDBC驱动程序在更新到1.6.0_29之后损坏,这是非常相似的,但有不同的原因。有趣的是,它在MS驱动程序和jtds驱动程序上都出现了。

相关内容

最新更新