2017-03-31 3 views
0

Je dois supporter une application VB6 qui est encore en production (pouah). Un client spécifie que notre logiciel doit être conforme à la norme PCI, ce qui nécessite TLS 1.2.VB6 application ado connexion pour TLS1.2

Quelqu'un sait-il comment faire? J'utilise SQL Server 2014. Je suis corrigé pour compiler 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 

Le projet fait référence "Microsoft ADO Ext 6.0 pour DDL and Security" et "Microsoft ActiveX Data Objects 2.5 Library"

J'ai essayé des options de chaîne de connexion multiples.

Merci!

+2

ADOX est une bibliothèque Jet-only. Dans tous les cas, vous devez utiliser un SQL Server Native Client plus récent ou un support équivalent TLS 1.2, qui n'est pas une responsabilité VB6 mais un problème SQL Server. – Bob77

+0

Cela a du sens. La question reste alors quel objet à référencer avec les mises à jour sql installées. J'ai trouvé de l'aide sur le [site Microsoft] (https://support.microsoft.com/fr-fr/help/3154518/support-for-tls-system-default-versions-included-in-the- .net-framework-3.5.1-sur-windows-7-sp1-et-server-2008-r2-sp1). Cependant, il n'est pas clair quel objet utiliser maintenant. – user2812743

+0

La plupart des modifications de l'interface ADO après la version 2.5 concernaient SQL Server et quelques-unes s'appliquaient à Oracle. Mais à moins que vous ne les utilisiez dans votre code, ADO 2.5 fonctionne correctement. Si vous posez des questions sur le fournisseur et le reste de la chaîne de connexion, consultez la documentation de SQL Server. – Bob77

Répondre

0

J'ai trouvé la réponse dans Using ADO with SQL Server Native Client.

Modification du fournisseur en SQLNCLI11 et ajout de DataTypeComptibility = 80 travaillé.

Merci Bob77! Vous étiez sur place avec l'utilisation du client plus récent.