问题描述:

客户有一个EXCEL的表格,其中有部分数据是需要访问SQL数据库,把查询结果导入表格的。但是最近一周忽然发生了导入数据的时候出错。错误信息如下:

SQLState:‘01000’

SQL Server 错误:1

[Microsoft] [ODBC SQL Server Driver][DBNETLIB]ConnectionOpen

(SECCreateCredentials())

连接失败:

SQLState:‘08001’

SQL Server 错误:18

[Microsoft] [ODBC SQL Server Driver][DBNETLIB]SSL安全错误

ssl错误是什么意思(手机浏览器出现ssl警告)(1)

同样的文件,在Windows 10的系统下就可以正常工作。但是Windows 7 系统就会有这个问题。

原因分析:

初步判断是因为服务器可能最近开启了SSL验证。而Windows 7的系统连接客户端默认是没有开启SSL的.

解决方法:

1. 修改注册表,打开注册表编辑器。

找到以下2个键值,把Enable的值从0修改为1.

对应于SSL2.0

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client]

“Enabled”=dword:00000001

对应于SSL3.0

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client]

“Enabled”=dword:00000001

ssl错误是什么意思(手机浏览器出现ssl警告)(2)

2. 建立一个注册表文件,把它导入注册表。

2.1 新建一个文本文件,把以下内容粘贴进去:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols]

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0]

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client]

“DisabledByDefault”=dword:00000000

“Enabled”=dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0]

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client]

“Enabled”=dword:00000001

2.2 把这个文本文件保存为 XXXX.REG 就可以直接双击导入注册表了。也可以用于其他有同样问题的电脑了。

至此问题解决。