如果 sql 服务器没有加密,VB6 使用 encrypt=true 管理错误
VB6 using encrypt=true managing error if sql server has no encryption
我们使用的其中一个软件提供了启用加密的选项,这将反映在连接字符串的 ENCRYPT=YES 部分。
我的 vb6
应用程序中的连接字符串如下所示:
"Provider=SQLNCLI11;Server=(local);Database=MyDevDB;Uid=MySqlUser;Pwd=myPwd;
Encrypt=yes;OLE DB Services=-1;"
当我的 Sql 服务器未配置为对来自 SQLCMD 和 SSMS 的连接字符串使用加密时,我收到错误
"Cannot connect to (local) [...] A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (Microsoft SQL Server, Error: -2146893019)".
我的问题:为什么在我的 VB6
应用程序中使用 ADO
中的连接时没有出现相同的错误?
VB6 让我连接,当然不加密,没有任何警告。
有人知道我如何在 VB6 中捕获它吗?
非常感谢!
由于我自己没有从这个求助电话中得到真正的答案,下面是我如何处理 ADO 数据库连接中缺少可管理的警告或错误的情况。
我们完全删除了从 VB 6 代码中控制加密数据库连接的请求形式的可能性。
确实如此,因为,如果有任何问题(证书错误,Sql 服务器上无法加密,等等)VB 6 ADO(不是 .net)实际上并没有告诉我们,它不加密,我们不知道,从调用者的角度来看,我们没有明确的方式知道。
通过将连接加密的责任转移到 Sql 服务器,我们可以安全地进行操作。
直到我们从环境中删除 vb6。
我们使用的其中一个软件提供了启用加密的选项,这将反映在连接字符串的 ENCRYPT=YES 部分。
我的 vb6
应用程序中的连接字符串如下所示:
"Provider=SQLNCLI11;Server=(local);Database=MyDevDB;Uid=MySqlUser;Pwd=myPwd;
Encrypt=yes;OLE DB Services=-1;"
当我的 Sql 服务器未配置为对来自 SQLCMD 和 SSMS 的连接字符串使用加密时,我收到错误
"Cannot connect to (local) [...] A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (Microsoft SQL Server, Error: -2146893019)".
我的问题:为什么在我的 VB6
应用程序中使用 ADO
中的连接时没有出现相同的错误?
VB6 让我连接,当然不加密,没有任何警告。
有人知道我如何在 VB6 中捕获它吗?
非常感谢!
由于我自己没有从这个求助电话中得到真正的答案,下面是我如何处理 ADO 数据库连接中缺少可管理的警告或错误的情况。
我们完全删除了从 VB 6 代码中控制加密数据库连接的请求形式的可能性。
确实如此,因为,如果有任何问题(证书错误,Sql 服务器上无法加密,等等)VB 6 ADO(不是 .net)实际上并没有告诉我们,它不加密,我们不知道,从调用者的角度来看,我们没有明确的方式知道。
通过将连接加密的责任转移到 Sql 服务器,我们可以安全地进行操作。
直到我们从环境中删除 vb6。