问题描述
我已切换计算机并安装了mssql 2012sp2. (最新,最出色的Win7 SP,sql server sp等)
I've switched computers and installed mssql 2012sp2. (latest and greatest Win7 SP, sql server sp, etc)
通过我们的ant脚本运行sql时,我(令人惊讶地)遇到SSL握手问题,并出现以下错误:
When running sql via our ant scripts, I (surprisingly) had SSL handshake problems, with this error:
我正在从此文件sqljdbc_2.0.1803.100_enu.tar.gz
一些数据点
- MSSQL jdbc驱动程序使用SSL进行登录
- 我们有使用相同的jdbc驱动程序的生产实例,它们指向MSSQL2012.我以前从未见过此问题.
- 我尝试
-Dhttps.protocols="TLS"
并没有成功.
- MSSQL jdbc drivers use SSL for login
- We have production instances--using the same jdbc drivers--- pointing to MSSQL 2012. I had never seen this problem before.
- I tried
-Dhttps.protocols="TLS"
without any success.
一些问题
-
这是POODLE之后对MSSQL的更改吗?也许在服务包中?
Is this a post-POODLE change to MSSQL? Perhaps in a service pack?
有任何解决方法吗?
谢谢
已更新:澄清我正在使用IBM jdk,而不是Oracle的
Updated: Clarified I'm using IBM jdk, not Oracle's
推荐答案
JDK版本证明了原因-不是sql server.我在新机器上使用了更高版本的IBM JDK 1.6.
The JDK version proved the cause--not sql server. I used a later version of the IBM JDK 1.6 on my new machine.
具体来说,IBM JDK的更高版本默认情况下禁用SSLv3.
Specifically the later version of the IBM JDK disables SSLv3 by default.
解决方法
将此选项添加到JVM
Add this option to the JVM
-Dcom.ibm.jsse2.disableSSLv3=false
参考
http://www-01.ibm.com/support/docview.wss?uid = swg21688165#issues
这篇关于将JDBC连接到Sql Server 2012的SSLv3错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!