天天看点

VBA 链接 SQL Server 2012 报错 SSL Security error

昨天换了服务器,SQL Server也有2008换成了2012。

把2008的数据库备份,然后到2012上恢复,然后把网站的Web.Config的链接字符串改掉。

运行,成功,一切完美。

但是一个excel的VBA却无法链接到新数据库

一直提示:

Run-time error ‘-2147467259 (80004005)’:

[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.

VBA 链接 SQL Server 2012 报错 SSL Security error

搜索了很多资料,都是说要改注册表的SSL1,SSL1.1, SSL1.2,但是并没有什么卵用。最后经过无数次试验,改一下链接字符串就OK了。

老的链接字符串:

ServerConnString = “Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=xxxxxx;Initial Catalog=MyDB;Data Source=ServerName”

试着改成了

ServerConnString = “Provider=SQLNCLI11;Persist Security Info=False;User ID=sa;PWD=xxxxxx;Initial Catalog=MyDB;Data Source=ServerName”

本地链接成功,然后就把新版本的excel发布出去了。结果用户反馈,链接不上。

然后又试着改成下面的字符串

ServerConnString = “Driver={sql server};server=ServerName;uid=sa;PWD=xxxxxx; database=MyDB; AutoTranslate=False”

完美解决问题。