error-handling - 如果SQL Server没有加密,则VB6使用crypto = true管理错误

标签 error-handling vb6 adodb

我们正在使用的一种软件提供了启用加密的选项,这将反射(reflect)在连接字符串的 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)".



我的问题:为什么在ADO应用程序中的VB6中使用连接时出现相同的错误?

VB6让我连接,当然不加密,也没有警告。

有人知道我如何在VB6中捕获它吗?

提前谢谢了!

最佳答案

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

我们只是简单地从VB 6代码中完全消除了控制用于加密数据库连接的请求形式的可能性。

确实,因为如果什么都不起作用(错误的证书,无法在Sql Server上进行加密等等),VB 6 ADO(不是.net)实际上并没有告诉我们,因此它不会进行加密,因此我们不知道并且我们做了从 call 者的 Angular 没有明确的认识方法。

通过将连接加密的职责移到Sql服务器上,我们可以安全地工作。

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

关于error-handling - 如果SQL Server没有加密,则VB6使用crypto = true管理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47475928/

相关文章:

python - 尝试/排除某种类型的所有 Python 错误

excel - ADODB - 为什么我的记录集是只读的?

sql - 在 vba 中使用 ADODB 在 SQL 中命名变量

.net-2.0 - adodb.dll 是否包含在 .NET 发行版中?

android - 如何处理2个FragmentTransaction

python-3.x - Python 3-使用sys.setrecursionlimit()

vb.net - 最佳实践 : Handling disconnects of hardware in classes that represent them

vb.net - 如何从 vb.net 中的二进制文件中读取 vb6 固定长度字符串

VB6 - WinHttpRequest 超时问题

vb.net - 有没有VB应用程序迁移到delphi?