En utilisant Delphi 7 avec des objets ADO, est-il possible de déterminer le pilote de base de données ODBC à partir de l'objet TADOConnection? Donc détecter s'il est MS-Access ou SQL Server ou Oracle, etc.Déterminer le pilote de base de données ODBC à partir de l'objet TADOConnection?
Le programme se connecte à une base de données en utilisant simplement le nom d'une source de données ODBC, et je veux savoir si cette base de données est une base de données MS-Access ou SQL Server. Je veux faire cela parce que MS-Access et SQL Server utilisent différents noms de fonctions SQL pour convertir un entier en une chaîne.
L'application génère une chaîne SQL qui récupère la VERSION de certains objets de configuration. Il fonctionne pour le serveur SQL en utilisant cast()
, mais je veux aussi soutenir MS-Access qui utilise CStr()
:
SELECT NAME + '_' + CAST(VERSION as varchar) as OBJECT_NAME FROM ANALYSIS // SQL Server
SELECT NAME + '_' + CStr(VERSION) as OBJECT_NAME FROM ANALYSIS // MS-Access
J'ai essayé de regarder le TADOConnection.Provider mais qui est MSDASQL.1
dans les deux cas. J'ai regardé toutes les propriétés de TADOConnection, mais je commence à suspecter que ce n'est pas possible. Des idées pour résoudre ceci?