2017-03-31 14 views
0

私はまだ稼働中のVB6アプリケーションをサポートしなければなりません。 TLS 1.2が必要なPCI規格に準拠していることをお客様が指定しています。TLS1.2のVB6アプリケーションの接続接続

誰でもこの方法を知っていますか?

私は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 

プロジェクトが参照しているが、 "マイクロソフトADO外部DDLとセキュリティのための6.0" は、私は複数の接続文字列オプションを試してみました

"Microsoft ActiveXデータは、2.5オブジェクトライブラリ"。

ありがとうございます!

+2

ADOXはJet専用ライブラリです。いずれにしても、新しいSQL Serverネイティブクライアントまたは同等のTLS 1.2をサポートする必要があります。これはVB6の責任ではなくSQL Serverの問題です。 – Bob77

+0

それは理にかなっています。問題は、SQLアップデートがインストールされた状態でどのオブジェクトを参照するかのままです。 私は[Microsoftサイト](https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-home) .net-framework-3.5.1-on-windows-7-sp1-and-server-2008-r2-sp1)を使用します。しかし、現在どのオブジェクトを使用するのかははっきりしていません。 – user2812743

+0

2.5以降はほとんどのADOインターフェイスの変更がSQL Server用であり、一部はOracle用です。しかし、あなたのコードでそれらを使用しない限り、ADO 2.5は正常に動作します。プロバイダと残りの接続文字列について質問する場合は、SQL Serverのマニュアルを参照してください。 – Bob77

答えて

0

回答はUsing ADO with SQL Server Native Clientです。

プロバイダーをSQLNCLI11に変更し、DataTypeComptibility = 80を追加しました。

ありがとうBob77!あなたは新しいクライアントを使うことにスポットを当てていました。

関連する問題