Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 17h38   #1
YF21_Valkyrie
Invité de passage
 
Homme
Développeur informatique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 2
Points : 2
Par défaut Accès natif et Visual Studio

Bonjour à tous,

Je suis en phase de développement d'un outils exploitant une base de données informix sur IBM AIX, je me connecte à l'heure actuelle à ma base informix en utilisant le driver odbc, mais les performances et les temps de réponse sont très long au vu de la complexité des requêtes que je lance...
Je cherche à améliorer tout ça en utilisant un autre type de connexion pour exploiter les données de ma BDD.
J'ai lu qu'IBM avait "pondu" un accés natif pour les développeurs utilisant visual studio (je développe en VB.Net) mais je n'arrive pas à m'y retrouver sur leur site et ne sais donc pas quoi installer (il y a bien le IBM sdk mais j'ignore qu'elle version prendre ni comment le configurer)...

Pourriez-vous me guider dans mes recherches ainsi que dans la marche à suivre ?

Merci d'avance pour vos réponses.
YF21_Valkyrie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 11h50   #2
nelem75
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 32
Points : 39
Points : 39
Bonjour,

Voici un morceau de la documentation pour référence:

----------------------
Informix .NET Provider (Windows)

Informix .NET Provider est automatiquement installé lorsque vous installez Client SDK si Microsoft .NET Framework est déjà installé sur le système. Informix .NET Provider est copié et enregistré dans Global Assembly Cache (GAC).

Client SDK a besoin du kit de développement de logiciels Microsoft .NET Framework complet. Informix Connect requiert uniquement l'installation du module Microsoft .NET Framework Redistributable.
----------------------
http://publib.boulder.ibm.com/infoce...ds_cpi_021.htm

Aller la page de téléchargement suivante:
http://www14.software.ibm.com/webapp...h.jsp?rs=ifxdl

Tu limites ta recherche à Windows 32 ou 64 bits et "Released product".

On peut dire qu'il y a deux familles de produit pour le SDK, la version 3.50 et 3.70 qui correspondent aux versions du moteur 11.50 et 11.70. Tu peux prendre la version 3.70 même si tu n'utilises pas un moteur 11.70 grâce à la compatibilité ascendante.

Tu prends la version 3.70.TC4DE qui est la toute dernière disponible.

Le 'T' de TC4 veut dire que c'est du 32 bits. Si tu prenais du FC4, le 'F' serait pour 64 bits.

Il faudra te faire un compte sur le site pour pouvoir télécharger le produit, bien sûr le SDK est gratuit.

Les "release notes" sur .Net:
http://publib.boulder.ibm.com/infoce...c4/netrel.html

On peut aussi taper ".Net" dans le champ de saisie de la page de documentation.

Hope this help.
nelem75 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/02/2012, 13h04   #3
YF21_Valkyrie
Invité de passage
 
Homme
Développeur informatique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 2
Points : 2
Bonjour,

Merci pour la réponse , j'ai bien installé le sdk 3.50 mais je bloque au niveau de visual studio.
J'ai bien ajouté la référence dans mon projet visual studio, mais je ne sais pas qu'elle chaine de connexion utiliser, à l'heure actuelle je passe par le driver odbc (exemple ci-dessous) :

Code :
Public myConnection AS New OdbcConnection("Driver={IBM INFORMIX ODBC DRIVER};Host=localhost;Server=" + serveur + ";Protocol=olsoctcp;Database=" + Base + ";Uid=" + User + ";Pwd=" + Passwd + "")
Ce qui engendre des performances médiocres et très limités....

Quelle type de connexion dois-je utiliser pour palier à ce manque d'efficacité ?

Si vous pouviez me donner un exemple pour la chaine de connexion afin que je puisse améliorer tout ça.

Merci d'avance.
YF21_Valkyrie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h55   #4
nelem75
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 32
Points : 39
Points : 39
Bonjour,

Je suppose que les informations suivantes trouvées sur le net devraient faire l'affaire ( ? ):

IBM Informix .NET Provider
Type .NET Framework Class Library
Usage IBM.Data.Informix.IfxConnection
Manufacturer IBM
Set example values »

More about this class library »
Standard
Database=myDataBase;Host=192.168.10.10;Server=db_engine_tcp;Service=1492; Protocol=onsoctcp;UID=myUsername;Password=myPassword;

Trouvé sur :

http://www.connectionstrings.com/informix


Hope this help.
nelem75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 16h49   #5
YF21_Valkyrie
Invité de passage
 
Homme
Développeur informatique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 2
Points : 2
Bonjour,

Merci pour votre réponse, celà m'a été très utile.

J'ai ajouté la référence IBM.data.informix à mon projet Visual studio mais manifestement il y a encore quelque chose qui coince...

voici l'erreur que VS me retourne :

Code :
Imports IBM.DATA.Informix
Avertissement 1 Impossible de résoudre l'assembly référencé "IBM.Data.Informix, Version=9.7.4.4, Culture=neutral, PublicKeyToken=7c307b91aa13d208, processorArchitecture=x86", car il dépend de "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" qui ne figure pas dans le Framework ciblé actuel ".NETFramework,Version=v4.0,Profile=Client". Supprimez les références aux assemblys qui ne se trouvent pas dans le Framework ciblé ou reciblez votre projet. Projet_Appro

Il ne reconnait pas les command de type IfxConnection, IfxCommand (non défini)... etc.

J'ai tenté de désinstaller tous mes framework et de les réinstaller mais rien n'y fait, j'ai aussi installé le SDK 3.70 sans résultat.

Pour info, j'utilise Visual Studio Express 2010, et je suis sous windows 7...

Ce que je ne comprend pas c'est que je n'ai aucun problème en passant par le driver odbc d'informix...

Auriez-vous une idée pour que je sorte de cette impasse ?
YF21_Valkyrie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 15h37   #6
nelem75
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 32
Points : 39
Points : 39
Bonjour,


Quelle version exacte du SDK, 32 bits ou 64 ?

32 = x.xx.TCx
64 = x.xx.FCx

Environnement 32, 64 ? Est-ce que ça colle avec le SDK téléchargé ( ? )

Après, je ne connais pas assez l'environnement MS mais quelque chose me dit qu'il faut sûrement faire ça...

Résolution des références système et d'assembly utilisateur

"La boîte de dialogue Ajouter une référence permet de désactiver les assemblys système qui ne concernent pas votre version cible du .NET Framework. (Les assemblys système sont des fichiers .dll qui font partie d'une version .NET Framework.) Cela vous permet d'éviter d'ajouter des références aux assemblys qui ne sont pas dans votre version cible. Si vous modifiez votre fichier projet pour y inclure des références qui appartiennent à une version .NET Framework plus récente que celle actuellement ciblée par votre projet, votre référence ne sera pas résolue. En outre, vous ne pouvez pas ajouter ni utiliser les contrôles qui dépendent de cette référence. Vous pouvez résoudre cette référence en faisant passer la cible du .NET Framework de votre projet à une cible incluant cette référence. Vous pouvez effectuer cette opération dans la page de propriétés du projet. Pour plus d'informations, consultez Gestion des propriétés de projet avec le Concepteur de projets."
--------
Trouvé sur http://msdn.microsoft.com/fr-fr/library/bb398197.aspx


Hope this help.
nelem75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 09h33   #7
YF21_Valkyrie
Invité de passage
 
Homme
Développeur informatique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 2
Points : 2
Bonjour,

Après plusieurs tentatives de paramétrage, j'ai enfin réussi à établir une connexion avec ma base informix via mon pgm VB.net !

La marche à suivre pour l'installation d'IBM Informix .NET Provider (synthèse des mails précédents):

1) Installer le Client IBM SDK, pour ma part j'ai installé le 3.70 pour système 32bits

2) Installer les .NET Framework (du 1 au 4), ne pas oublier le Framework 1.1SDK qui est essentiel.

3) Charger la dll de référence IBM dans visual studio (ajouter une référence):
--> C:/Programme/IBM Informix Client SDK/bin/netf20/IBM.Data.Informix.dll

4) Modifier la liaison au Framework par défaut dans visual studio, en effet le Framework 4 est, quand il est installé, utilisé par défaut, et ne permet pas d'utiliser IBM.Data.Informix, pour ma part j'ai redirigé VS vers le .NET 3.5.

L'url ci-dessous ma permis de connaitre cette manipulation :

http://msdn.microsoft.com/fr-fr/library/bb398197.aspx

Bien entendu après avoir fait tout ça, il faut créer la connexion, je me suis servis de cet exemple venant d'IBM :

http://publib.boulder.ibm.com/infoce...oc/netpr20.htm

Après tout ça il ne reste plus qu'à se servir de la bibliothèque de classe IBM Informix .NET Provider et le tour est joué. (le site IBM est particulièrement bien fournis, il suffit juste de savoir où chercher)

Merci à nelem pour toutes les informations qu'il a partagé avec moi, j'espère que ce petit récapitulatif servira à d'autre.
YF21_Valkyrie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h47.


 
 
 
 
Partenaires

Hébergement Web