我们使用的软件之一提供了启用加密的选项,这将反映在连接字符串的 ENCRYPT = YES 部分。
我的vb6
应用中的我的连接字符串如下所示:
"Provider=SQLNCLI11;Server=(local);Database=MyDevDB;Uid=MySqlUser;Pwd=myPwd;
Encrypt=yes;OLE DB Services=-1;"
当我的Sql server未配置为在连接字符串上使用加密时,从SQLCMD和SSMS,我收到错误
" 无法连接到(本地)[...]已成功与服务器建立连接,但在登录过程中发生了错误。 (提供程序:SSL提供程序,错误:0 - 证书链由不受信任的颁发机构颁发。)(Microsoft SQL Server,错误:-2146893019)"。
我的问题:为什么我在ADO
应用中VB6
使用连接时出现同样的错误?
任何人都知道如何在VB6中捕获它?
非常感谢提前!
答案 0 :(得分:0)
由于我自己并未对此求助产生任何真正的答案,因此这就是我如何处理ADO的数据库连接中缺少可管理的警告或错误的问题。
我们完全删除了控制来自VB 6代码的用于加密数据库连接的请求形式的可能性。
的确,因为,如果有什么不起作用(错误的证书,在Sql Server上无法进行加密等),VB 6 ADO(不是.net)实际上并未告诉我们,它没有加密,我们也不知道而且从呼叫者的角度来看我们还不清楚。
通过将连接加密的职责移到Sql服务器上,我们可以放心使用它。
那是直到我们从环境中删除vb6为止。