龙空技术网

Windows 7下连接SQL服务器SSL安全错误的处理方法

修电脑的老男孩 257

前言:

而今咱们对“dbnetlibsqlserver”可能比较讲究,朋友们都想要学习一些“dbnetlibsqlserver”的相关内容。那么小编同时在网摘上搜集了一些有关“dbnetlibsqlserver””的相关资讯,希望兄弟们能喜欢,各位老铁们一起来了解一下吧!

问题描述:

客户有一个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安全错误

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

原因分析:

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

解决方法:

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

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

对应于SSL2.0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]

"Enabled"=dword:00000001

对应于SSL3.0

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]

"Enabled"=dword:00000001

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

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]

"DisabledByDefault"=dword:00000000

"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]

"Enabled"=dword:00000001

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

至此问题解决。

标签: #dbnetlibsqlserver #数据库的连接步骤