|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Nicolas Inscription : décembre 2010 Messages : 26 ![]() |
Bonjour à tous,
Je travaille avec la base de données d'un AS400 via ODBC, depuis Windows. J'ai des requêtes SQL de sélection à faire sur différentes tables de l'AS400. Les tables se trouvent toutes dans une seule librairie. Mon problème est que je n'arrive pas à accéder à une des tables de la lib. Je reçois un message d'erreur ODBC... Comme si la table n'existait pas dans cette librairie. Pourtant, si je refais la même requête SQL via l'émulateur avec la commande STRSQL, ça fonctionne parfaitement. Pour le reste, j'arrive parfaitement à accéder aux tables soit via ODBC soit via STRSQL. J'utilise le driver MSDASQL avec la connexion string suivante : Code :
il y a peut-être un paramètre spécial à définir sur les tables pour qu'elles puissent être visible via ODBC ??? Merci de votre aide, Cordialement, Nico |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 255 ![]() |
Peut tu nous donner le message d'erreur ODBC ?
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Nicolas Inscription : décembre 2010 Messages : 26 ![]() |
Bonjour,
oui, voici le message d'erreur : Code :
J'ai l'impression que ODBC ne trouve pas la table dans le schéma. |
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 113 ![]() |
Tu as peut être un pilote qui n'est pas à jour.
Quelle est la version d'OS sur le serveur et la version d'iSeries Access utilisée ? |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 255 ![]() |
Le message vient de MSDASQL, le driver ODBC de Microsoft qui reçoit une définition invalide de la bibliothèque.
Comme toutes tes tables sont dans la même bibliothèque, je ne pense pas qu'il s'agisse de la définition de la bibliothèque (le schéma) mais celle de la table. La table est trouvée, mais la définition renvoyée n'est pas appréciée par ton driver ODBC. Vérifie le type de la table qui te pose problème (fichier PF ou LF plutôt que table SQL par exemple). Je ne connais pas MSDASQL, donc je ne peux t'aider plus. Désolé. |
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Nicolas Inscription : décembre 2010 Messages : 26 ![]() |
Merci pour votre aide.
Côté AS400 : je suis en V6R1. Côté Windows : je suis sur un Windows 2003 SP2 Français sur lequel est installé le System i navigator 6.1, l'émulateur console, les drivers odbc, ole-db,... Dans odbcad32.exe, je dispose différents drivers :
Dans MS SQL Server (que j'utilise), j'ai le choix entre :
En interrogeant QSYS2.SYSTABLES, je consulte les paramètres d'une table qui me cause problème : ARTIC. Ensuite, je compare le résultat à une autre table qui fonctionne parfaitement. Et malheureusement, c'est exactement la même chose. Exemple de ma table ARTIC qui me cause problème : Code :
Code :
Je viens de faire un test avec le Driver IBMDASQL. J'ai su créer la connexion, mais je n'arrive pas a faire mes "select" sur la BD. Conseillez-vous d'utiliser un driver en particulier ? Merci, nico |
||||
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 113 ![]() |
Tu n'arrives pas à requêter la table parce que la syntaxe est peut être légèrement différente avec ce driver. Du genre "Bibliothèque/NomFichier" au lieu de "Bibliothèque.NomFichier".
Personnellement j'utilise le driver IBMDA400. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Nicolas Inscription : décembre 2010 Messages : 26 ![]() |
Bonjour à tous,
voilà j'y arrive. En effet, c'est mon driver qui était mauvais. J'ai utilisé le driver IBMDASQL qui ne provoque plus l'erreur. Il faut effectivement bien faire attention à la façon d’appeler schéma, librairie et table. J'ai trouvé une documentation intéressante sur le sujet ici : http://publib-b.boulder.ibm.com/Redb.../sg245183.html Merci pour votre aide. Cordialement, nico |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com