2017-03-31 239 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

回答

相關問題