L'établissement d'une connexion à une base de données avec un connecteur natif, repose sur le client de la base fourni par son éditeur, et installé localement sur le poste qui exécute le processus (application, site, Webservice...). Si la version du client de la base installée en local n'est pas adaptée à la version de la base la base de données à laquelle l'application doit se connecter, la connexion peut échouer, ou les interrogations peuvent ne pas donner le résultat attendu.
Cela s'applique à toutes les bases qui fonctionnent sur le principe client/serveur, et donc à tous les connecteurs natifs.
C'est par exemple le cas avec SQL SERVER dans la situation suivante : - la base de données SQL SERVER est encore en version 2012, ou est en version 2019, mais avec un niveau de compatibilité paramétré sur une version antérieure (cf. clic droit sur la BDD dans SQL SERVER, "Propriétés", puis "Options" et combo "Niveau de compatibilité"),
![](data:image/png;base64,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FryI7eLiIo///Oct11iWxejoKABvv/02juPws5/9bE33U59TC7VIbSgUane5IPSFrm/DcKGirDlPuK05cwbiFq7ePYLcnz8uVnawSgmCsFMRUSsIbWgXHV13pBa/Vm06zaFDh3jkkUcazn300Uf85Cc/4cCBAwD84Ac/4J133llTlLaZShkvQQAInHlrq13Y5vw1PPDXpDfqe35gCuS/mSD0REStIDRR33zhvffe21Dbr/7jqwD88O//vuM1Dz30EO+99x4PPfTQhqxZvymsklrQrsrBn/70J+655x4+/PDDDVlXuDNZ/R9/1TL26aef8u677/L2229z8+ZNfv/730slDEEQbjtf/epX2b17N/fee281/30QRNQKQh2V5guhUKil+cJ62+S6ly7BYppDk5M8+OCD3tgzzzTk1e7du5fFxUUOHDhAPp/fkBq2n376aVWg/PnPfwbg888/X7ddYftw7733smfPHh544AHAa6dcqV8sCIJwu9i9ezcPPPAAe/bsYdeuXQPPF1ErCHV0a76g/92z67K9mE6zCBxikUvPLHrdGA4daptz99Of/pQvfelL61oP4MqVK+u2IWx/du3axd69e9m/fz9f+9rXqr/8CIIg3E4qv2Dv3bu3Gq0daP4m+SUIdx2b2XwB4LFr16hUp1W6lKndu3cvP/7xj9cdpT148CAHDx5clw1hZ7Br167qK799+/ZJlFYQhC0hEAhw7733smvXLonUCsJ62azmC4OyWa1zBaEd9T9IABG1giBsCZXIbPOf/SKiVtjxvPn+4L8NCsJ2Yq0/QARBEO4kRNQKO5onv/OnrXZBEARBEIQNIFCW90yCIAiCIAjCXc49W+2AIAiCIAiCIKwXEbWCIAiCIAjCXc//B99NorgChflcAAAAAElFTkSuQmCC)
- le poste qui va faire un HOuvreConnexion ou SQLConnecte dispose du client SQL SERVER local en version 2012 et en version 2019,
- l'application ne fait pas explicitement mention du client de la base à utiliser dans ses informations optionnelles de connexion,
- l'application est compilée en version 28.
Dans cette configuration, la connexion échoue en version 28, alors qu'elle est permise dans une version antérieure, avec la réponse : Fonction 'HOuvreConnexion', syntaxe 0 Que s'est-il passé ? Erreur de l'accès natif SQLSERVER. Numéro d'erreur = 117 SQL Server a renvoyé l'erreur 80004005 Description: Le client n'a pas pu établir la connexion SQL State: 08001 SQL Error Number: -2146893019 Sous-erreur n°1 Description: SSL Provider: La chaîne de certificats a été fournie par une autorité qui n’est pas approuvée. SQL State: 08001 Code erreur : 73001 Niveau : erreur non fatale Module : wd280hf64.dll (01F280066p - 28.0.322.0) Provider : WinDevSQLServer
La connexion échoue car le client SQL SERVER 2019 est chargé par défaut par une application compilée en version 28. Ce client n'est pas compatible avec SQL SERVER 2012 d'ou l'erreur renvoyée par SQL SERVER.
Les solutions :
- recommandée par l'éditeur de la base : mettre à jour la base SQL SERVER afin d'utiliser une version compatible avec le client local 2019,
- si la base doit rester dans cette ancienne version de SQL SERVER :
- forcer l'utilisation du client d'une version antérieure.
Il suffit pour cela d'ajouter la chaîne "WD CLIENT VERSION=2012 ;" ou "WD CLIENT VERSION=2017 ;" dans les informations optionnelles de connexion afin de sélectionner le client installé à utiliser. - ou désinstaller le client SQL SERVER 2019 afin que seul le client 2012 adapté soit trouvé par Windows lorsqu'il recherche les DLL.
De façon générale, pour tous les connecteurs natifs, il est conseillé de toujours faire exécuter l'application en production, avec la même version de client local qui a permis la validation de toutes les fonctionnalités. Pour cela il est conseillé de : - bien spécifier dans les pré-requis de l'application la version du client de la base avec laquelle elle est validée,
- utiliser si possible les informations optionnelles de la connexion pour spécifier le client à charger.
Liens utiles :
Astuce : Le code suivant permet de facilement voir pour un processus la liste des DLL chargées pour une connexion. Cela peut permettre d'ajouter une sécurité supplémentaire, si une DLL est trouvée dans une version autre que celle avec laquelle l'application a été qualifiée.
tabDLLChargées est un tableau de chaîne tabDLLNouvelles est un tableau de chaîne
POUR TOUT CHAÎNE sDLL DE ExeListeDLL(ExeDonnePID(exePID)) SÉPARÉE PAR RC tabDLLChargées.Ajoute(sDLL) FIN
CnxSQLSERVER est une Connexion CnxSQLSERVER..Provider = hAccèsNatifSQLServer CnxSQLSERVER..Utilisateur = "sa" CnxSQLSERVER..MotDePasse = "sqlserver" CnxSQLSERVER..Serveur = "srv-mon-server.com" CnxSQLSERVER..BaseDeDonnées = "" CnxSQLSERVER..Accès = hOLectureEcriture CnxSQLSERVER..InfosEtendues = "WD CLIENT VERSION=2012"
SI HOuvreConnexion(CnxSQLSERVER) ALORS POUR TOUT CHAÎNE sDLL DE ExeListeDLL(ExeDonnePID(exePID)) SÉPARÉE PAR RC SI tabDLLChargées.Cherche(tcLinéaire, sDLL) > 0 ALORS SINON tabDLLNouvelles.Ajoute(sdll) FIN FIN STOP // >> visualiser tabDLLNouvelles dans les expressions du débogueur HFermeConnexion(CnxSQLSERVER) ToastAffiche("OK") SINON Erreur("KO", ErreurInfo(errComplet)) FIN
|