Createur de dsn , odbc pour access

Soyez le premier à donner votre avis sur cette source.

Vue 15 678 fois - Téléchargée 648 fois

Description

Cela montre juste comment créer un driver ODBC pour access par le code.

Il suffit juste d'attaquer la registry.

Source / Exemple :


RegistryKey rkAdd = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\ODBC\ODBC.INI\" + strWantedDSN);
			rkAdd.SetValue("UID",strEmpty);
			rkAdd.SetValue("DBQ",DBpath);
			rkAdd.SetValue("Driver",strDriverName);
			rkAdd.SetValue("FIL","MS Access;");
			rkAdd.SetValue("DriverId",25);
			rkAdd.SetValue("SafeTransactions",0);
			rkAdd.Close();

			RegistryKey rkDsn = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\ODBC\ODBC.INI\" + strWantedDSN + @"\Engines\Jet");
			rkDsn.SetValue("ImplicitCommitSync",strEmpty);
			rkDsn.SetValue("UserCommitSync","Yes");
			rkDsn.SetValue("MaxBufferSize",2048);
			rkDsn.SetValue("PageTimeout",5);
			rkDsn.SetValue("Threads",3);
			rkDsn.Close();

...................

ect....

CF ZIP

Conclusion :


Tout est dans le ZIP.

Ce n'es pas un code portable ni rien, ni optimisé , et loin d'etre parfait mais c'est tout de même une bonne base pour modéliser vos classes !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Oeil_de_taupe
Messages postés
150
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
16 février 2009

Et pour lire les DSN du système: utiliser l'API fourni par Microsoft: SQLDataSources
Mais lire/écrire directement dans la base de registre me fait un peu peur parce que si Microsoft faisait joujou avec le registre, toutes les applications qui utilisent ce code seraient un chti peu embêtées (tandis que les APIs fournis par Microsoft sont modifiés).

Sinon pour créer un nouveau DSN: SQLConfigDataSource? (je ne suis pas sûre, je n'ai pas testé). Mais cet API devrait faire la même chose que ton code.

Mais toutes les solutions peuvent être envisagées.
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Autre solution encore plus simple : écrire un fichier .dsn et l'ouvrir tout simplement avec ADO, c'est totalement équivalent, cela évite d'écrire dans la base de registre et tu peux éditer le fichier dans le bloc-notes. Je posterai un exemple prochainement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.