如果sql server没有加密,VB6使用encrypt = true管理错误

时间:2017-11-24 15:06:56

标签: error-handling vb6 adodb

我们使用的软件之一提供了启用加密的选项,这将反映在连接字符串的 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让我连接,当然不加密,没有任何警告。

任何人都知道如何在VB6中捕获它?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

由于我自己并未对此求助产生任何真正的答案,因此这就是我如何处理ADO的数据库连接中缺少可管理的警告或错误的问题。

我们完全删除了控制来自VB 6代码的用于加密数据库连接的请求形式的可能性。

的确,因为,如果有什么不起作用(错误的证书,在Sql Server上无法进行加密等),VB 6 ADO(不是.net)实际上并未告诉我们,它没有加密,我们也不知道而且从呼叫者的角度来看我们还不清楚。

通过将连接加密的职责移到Sql服务器上,我们可以放心使用它。

那是直到我们从环境中删除vb6为止。