Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > Informix
Informix Forum d'entraide Informix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/04/2005, 10h25   #1
Invité de passage
 
Inscription : avril 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 8
Points : 3
Points : 3
Par défaut Création d'un DSN ODBC via SQLConfigDataSource

Bonjour.

Pour un logiciel sur lequel je travaille, je dois créer une connection ODBC Informix directement à partir de mon programme.

Après quelques recherches (avec, pour une fois , l'aide de msdn), j'ai trouvé la fonction qui permet de réaliser cela : SQLConfigDataSource.

En voici le prototype :
Code :
BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);
Donc, jusque là, tout va bien.

Je teste cette fonction en créant une connection ODBC ms-access. Pas de problème, ca marche super bien et tout et tout

Et là, c'est le drame !!!

Je tente de créer une connection ODBC Informix par le biais du code suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
DSNbd := // je peux pas donner cette info, c'est le nom d'un client ^^
DSNDriver := 'INFORMIX 3.32 32 BIT';
DSNName := 'CR_'+DSNbd;
 
 
DSNAttributes := 'DSN=' + DSNName + #0 ;
DSNAttributes := DSNAttributes + 'DATABASE=' + DSNbd + #0 ;
DSNAttributes := DSNAttributes + 'SERVER='+ DSNServer + #0  ;
DSNAttributes := DSNAttributes + 'DESCRIPTION=' + DSNDescription + #0 +#0 ;
 
intRet :=SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, DSNDriver, DSNAttributes);
Pour les connaisseurs, c'est du Delphi donc
  • := c'est l'affectation
    + la concanénation
    #0 la marque de fin null

Après maintes recherches, il semblerait que le paramètre lpszAttributes change en fonction des bases de données. Il est composé des attributs que l'on peut retrouver dans la base de registre (source : msdn : http://msdn.microsoft.com/library/fr...ata_source.asp).

Ni une, ni deux, je créé un DSN ODBC Informix par l'utilitaire windows "Source de données (ODBC)", je regarde dans le registre les valeurs enregistrées, je les concatène (sauf le password puisqu'il est cripté) ... et ça ne change rien, toujours impossible de créer un DSN.

D'où ma question (vi, c'est long pour en arriver là ^^) : quelqu'un aurait il déjà réussit à créer un DSN ODBC Informix par code ou connaitrait il un moyen de le faire ??? (ou bien encore, si quelqu'un connait les paramètres à fournir à la fonction SQLConfigDataSource, c'est encore mieux )

Merci d'avance
lord_of_ankou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 09h15   #2
Invité de passage
 
Inscription : avril 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 8
Points : 3
Points : 3
Bon, voilà ... je vais encore me tapper la honte

Donc, la solution était toute simple : il fallait passer par la GUI windows qui permet de créer un DSN et, au lieu d'utiliser l'onglet "Source de données utilisateur", il fallait se placer sur l'onglet "Source de données fichier". En effet, cette dernière option permet d'enregistrer dans un fichier (.dsn) les parmètres de la connexion ODBC créée.

Il suffit donc, ensuite, d'éditer ce fichier en ASCI pour récupérer les paramètres sous la forme <Nom de paramètre>=<Valeur> .... voilà ... hum ... qui a dit "facile" ??? hihi
lord_of_ankou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h11.


 
 
 
 
Partenaires

Hébergement Web