Salut.
voici le code utilisé pour creer une source ODBC. Pour info, je cherche a créer une source de données ODBC sur une base PROGRESS. le nom de cette source sera : ProjetV10LinuxSoc et le code de la société ex : ProjetV10LinuxSoc5. La base de données s'appelle db, l'utilisateur est sysprogress.
/***********************************************************/ Récupèle la liste des connections dans un champ liste /***********************************************************/ b est un entier char est une chaîne
char=RegistreListeValeur("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources")
BOUCLE b++ SI ExtraitChaîne(char,b,RC)=EOT ALORS SORTIR SI ExtraitChaîne(char,b,RC)<>"GlobalCar" ET ExtraitChaîne(char,b,RC)<>"" ALORS ListeAjoute(Source_ODBC,ExtraitChaîne(char,b,RC)+gLien(ExtraitChaîne(char,b,RC))) FIN FIN
/***********************************************************/ Teste l'existance de la source et la crée si elle n'existe pas et s'y connecte /***********************************************************/ SI ListeCherche(Source_ODBC,"ProjetV10LinuxSoc"+CodeSoc,Vrai) = -1 ALORS Libelle_test..Couleur = iRougeFoncé Libelle_test = "Source de donnée inexistante ! Création en cours ..." SI PAS RegistreExiste("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc) ALORS RegistreCréeClé"HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc) FIN RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"Driver","C:\Progress\OpenEdge\bin\PGPRO1019.DLL") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"HostName","192.168.55.21") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"PortNumber","6500") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"DatabaseName","db") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"LogonID","sysprogress") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"StaticCursorLongColBuffLen","4096") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"EnableTimestampWithTimeZone","1") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"DefaultIsolationLevel","SQL_TXN_REPEATABLE_READ") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"ArraySize","50") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ProjetV10LinuxSoc"+CodeSoc,"DefaultLongDataBuffLen","2048") RegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources","ProjetV10LinuxSoc"+CodeSoc,"DataDirect 4.20 32-BIT OpenEdge SQL v10.0B") FIN
Libelle_test..Couleur = iNoir Libelle_test = "Connexion à "+"ProjetV10LinuxSoc"+CodeSoc+" en cours ..."
HDécritConnexion("MaConnexion","sysprogress","Windev","ProjetV10LinuxSoc"+CodeSoc,"gescom",hAccèsNatifProgress) SI HChangeConnexion("*","MaConnexion") ALORS Libelle_test..Couleur = iBleuFoncé Libelle_test = "Connexion à "+"ProjetV10LinuxSoc"+CodeSoc+" réussi" SINON Libelle_test..Couleur = iRougeFoncé Libelle_test = "Echec de la connexion à "+"ProjetV10LinuxSoc"+CodeSoc FIN |