2017-03-31 242 views
0

我必须支持仍在生产中的VB6应用程序(ugh)。客户指定我们的软件需要符合PCI标准,这需要TLS 1.2。用于TLS1.2的VB6应用程序ado连接

任何人都知道如何做到这一点?

我正在使用SQL Server 2014.我打补丁生成12.0.4502.0。

Public Function GetConnection() As ADODB.Connection 
    Dim con As ADODB.Connection 

    On Error Resume Next 
    Set con = New ADODB.Connection 
    con.ConnectionTimeout = 10 

    Dim connstring As String 
    'connstring = "Provider=SQLOLEDB;Server=" & gstrServer & ";Database=" & gstrDB & ";User Id=" & gstrUser & ";Password=" & gstrPwd 
    connstring = "Provider=MSDASQL;DRIVER=Sql Server;Server=" & gstrServer & ";Database=" & gstrDB & ";UID=" & gstrUser & ";PWD=" & gstrPwd 

    con.Open connstring 

    If Err Then Set con = Nothing 
    Set GetConnection = con 
End Function 

该项目所引用的 “Microsoft ADO分机6.0 DDL和安全” 和 “Microsoft ActiveX数据对象2.5库”

我曾尝试多种连接字符串选项。

谢谢!

+2

ADOX是一个只有Jet的库。无论如何,您需要使用更新的SQL Server Native Client或支持TLS 1.2的等效项,这不是VB6的责任,而是SQL Server的问题。 – Bob77

+0

这很有道理。问题仍然是什么对象参考安装的SQL更新。 我确实在[Microsoft站点]上找​​到了一些支持(https://support.microsoft.com/zh-cn/help/3154518/support-for-tls-system-default-versions-included-in-the- .NET框架-3.5.1-ON-Windows的7 SP1和服务器-2008-R2的SP1)。但是现在不清楚使用哪个对象。 – user2812743

+0

2.5之后的大部分ADO接口更改均适用于SQL Server,少数适用于Oracle。但是除非你在代码中使用它们,否则ADO 2.5可以正常工作。如果您询问提供程序和连接字符串的其余部分,请参阅SQL Server文档。 – Bob77

回答

相关问题