天天看點

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”

完美解決問題。