| |
Posté le 03 décembre 2015 - 10:07 |
Bonjour
je n'arrive pas à me connecter à notre AS400 via l'instruction "SQLConnecte".
Le système me renvoie l'erreur "Code erreur IM002 [Microsoft][Gestionnaire pilote OBDC] source de données introuvable et nom de pilote non spécifié".
Que vient fait faire cette histoire de pilote OBDC alors que je cherche à me connecter via l'accès natif AS400.
J' ai épluché l'aide en ligne, et j'ai rédigé mon code tel que :
"SI SQLConnecte("Mon_Adresse_IP", "WEBDEV", "WEBDEV",Mon_AS400,hAccèsNatifAS400) ALORS"
Quelqu'un a t-il une idée ?
Merci pour votre aide ! |
| |
| |
| | | |
|
| | |
| |
Posté le 03 décembre 2015 - 11:38 |
Bonjour Jean-Christophe,
Je ne vois pas trop d'explication, mais avez vous les mêmes problèmes de connexion en utilisant les ordres :
HDécritConnexion HOuvreConnexion HExécuteRequêteSQL
Bon courage. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 03 décembre 2015 - 11:58 |
euh question toute bête : tu as bien sur acheter le connecteur as400 pour windev.
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Posté le 03 décembre 2015 - 12:16 |
Bonjour Dominique,
Tu fais sans doute référence au connecteur natif Easycom ?
Tous nos développements se font en accès natif AS/400.
A travers ma question, j'essaie de d'expérimenter une autre manière de lancer une requête SQL via l'accès NAtif.
JCC |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 03 décembre 2015 - 13:47 |
Oui EasyCom. avec ce connecteur depuis 1995 jamais eu le moindre pb. je ne comprends pas tu écris : "Que vient fait faire cette histoire de pilote OBDC alors que je cherche à me connecter via l'accès natif AS400." hors le connecteur natif as400 est payant : " Le module d'accès natif AS/400 a été conçu par la société "Aura Equipements". Un fichier d'aide contenant toutes les spécificités de cet Accès Natif est livré avec l'Accès Natif AS/400." je ne connais pas d'autre module "natif AS400" !
Le connecteur peut paraitre cher, mais Aura est au top du top, hot line super, et puis ce sont des jours entiers de dev gagnés à utiliser ce connecteur.
Bon Dev.
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Posté le 03 décembre 2015 - 14:12 |
Bonjour
heuuuuu
le connecteur natif easycom -EST- l'accès natif AS400...
Donc, je ne comprend pas bien, la...
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
On 12/3/2015 6:16 AM, Jean-Christophe CHERID wrote:
Bonjour Dominique,
Tu fais sans doute référence au connecteur natif Easycom ?
Tous nos développements se font en accès natif AS/400.
A travers ma question, j'essaie de d'expérimenter une autre manière de lancer une requête SQL via l'accès NAtif.
JCC |
| |
| |
| | | |
|
| | |
| |
Posté le 04 décembre 2015 - 11:53 |
Si c'est pour utiliser avec l'ccés natif, il faut bien respecter cette syntaxe :
SQLConnecte(AdresseServeur,LoginServeur, MdpServeur,"",AS400,hAccèsNatifAS400)
Personellement j'utilise cette procédure dans mon QueryManager et ça marche du feu de dieu !
Procedure ExecuteSQL(sMaRequete est une chaîne) : tableau de tableau associatif de chaînes
tabResult est un tableau de tableau associatif de chaînes
i est un entier nNB_Colonnes est un entier
SI SQLConnecte(AdresseServeur,LoginServeur, MdpServeur,"",AS400,hAccèsNatifAS400) ALORS SQLTransaction(sqlDébut,AS400) SI SQLExec(sMaRequete,"REQ1") ALORS i = 0 SQLInfoGene("REQ1") nNB_Colonnes = SQL.NbCol k est un entier = 0 l est un entier = 0 TANTQUE SQLAvance("REQ1") = 0 i++ k = Ajoute(tabResult) POUR j = 1 _A_ nNB_Colonnes tabResult[k][SQL.TitreCol[j]] = SQLLitCol("REQ1", j) FIN FIN SINON SQLInfoGene("REQ1") Info("Erreur SQL : " + SQL.MesErreur) FIN SQLFerme("REQ1") SQLTransaction(sqlFin,AS400) SINON
SQLInfoGene() Erreur("La connexion à la source de données a échoué." + RC + ... "Code erreur : " + SQL.Erreur + RC + SQL.MesErreur) FIN SQLDéconnecte()
RENVOYER tabResult |
| |
| |
| | | |
|
| | |
| |
Posté le 04 décembre 2015 - 11:56 |
En fait après avoir relu ton code, il me semble que tu est oublié le "" qui spécifie la bibliothéque a attaquer, entre le param mdp et le param connexion. |
| |
| |
| | | |
|
| | |
| |
Posté le 08 décembre 2015 - 14:09 |
Bonjour Yann,
Je n'avais pas vu que tu avais répondu à mon message !
Merci pour ton aide et ta réponse.
Malgré tes conseils, ma ligne d'instruction ne fonctionne toujours pas !
Voici le message d'erreur ([Microsoft][Gestionnaire de pilotes OBDC] Source de donnéees introuvable et nom de pilote non spécifié ) :
Je continue à batailler sur cette histoire, car j'aime comprendre !
En tout cas merci pour ton coup de main..
Jean-Christophe |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 08 décembre 2015 - 15:05 |
Je vais reposer la question : le connecteur AURA est il installé? SI la réponse est NON, alors pour moi je pense que cela n'a AUCUNE chance de fonctionner !
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Posté le 08 décembre 2015 - 15:32 |
Bonjour Dominique,
Oui, le connecteur AURA est bien installé :
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +4 (4 votes) |
|
Posté le 08 décembre 2015 - 15:43 |
Bonjour Jean-Christophe,
Si tu essaye d'ajouter un fichier AS400 dans l'analyse, il l'ajoute correctement? Le sous-système easycom est bien lancé sur l'AS ?
Il me semble avoir déjà eu cette erreur, j'avais recréer la connexion dans l'analyse et ça avait réglé mon problème ( Si je te dis pas de connerie ).
Après si tu bosses pas sur des données sensible et que tu as teamviewer, envoi moi un mail a dubranayann@gmail.com et on regardera ton soucis! ( Et puis nous on a un contrat de maintenance chez easycom, donc au pire je leur enverrais un petit mail, ils sont efficace !!! ) |
| |
| |
| | | |
|
| | |
| |
Posté le 08 décembre 2015 - 16:11 |
Merci Yann,
Mais tu t'en doutes surement (!), je ne peux pas utiliser ce type d'outil chez le client ou je suis actuellement.
Pour répondre à ta question, oui j'arrive parfaitement à ajouter des fichiers dans l'analyse, et lorsque je lance un test de connexion, tout est oK.
C'est à se demander si cette instruction est compatible avec l'AS400 ??!!
Pour le support, cela ne concerne t-il pas plutôt PCSOFT ?
Bon en tout cas, merci pour ton aide.
Si la situation se débloque, je communiquerais la solution sur ce forum ( ça peut toujours aider...).
J.C |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 08 décembre 2015 - 16:11 |
Est ce que je dit une connerie si je pense que SQLConnecte utilise la connexion OLEDB ? Ce qui explique le message d'erreur. Dans ce cas, il faut créer un "driver" dans les connexions windows avec les bon paramètres. Je suis désolé, pas la possibilité de faire de tests, car je n'utilise plus les AS400, mais je chercherai dans ce sens
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 08 décembre 2015 - 16:19 |
Si je me souviens c'est pas un truc du genre paramètrage de "client access"? Avec l'ajour de Source de données ?
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Posté le 08 décembre 2015 - 16:55 |
Merci Dominique,
C'est une piste, je vais fouiller dans ce sens.
J.C |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +4 (4 votes) |
|
Posté le 09 décembre 2015 - 11:26 |
Honnetement, si ça merde avec SQLConnecte, te fais pas chier !
Tu ajoute le fichier dans l'analyse, tu créer ta requete dans l'editeur windev ( si tu n'utilise pas de fonction alacon genre YEAR(CURRENT DATE) il la rétroanalyse même) et aprés
SI HExécuteRequête(REQ_1,DELZONGA,hRequêteSansCorrection,param1) ALORS TableSupprimeTout(maTable) POUR TOUT REQ_1 k est un entier = TableAjouteLigne(maTable) maTable[k].COL_1= REQ_1zone1 FIN FIN
La deux choix s'offre à toi. Soit tu ne peux pas rétroanlyser la requete, et alors faut utiliser le code si dessus.
Soit elle se retroanalyse et tu fais :
SI HExécuteRequête(REQ_1,hRequêteDéfaut,param1) ALORS TableSupprimeTout(maTable) POUR TOUT REQ_1 k est un entier = TableAjouteLigne(maTable) maTable[k].COL_1= REQ_1zone1 FIN FIN
Avec ça sa marche à tout les coups. Ma méthode servant uniquement a pouvoir générer des tables ou des ZR Dynamique. En utilisant la méthode ci dessus ( que j'utilise dans 90% des cas ), ça doit marcher ! |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +4 (4 votes) |
|
Posté le 09 décembre 2015 - 11:27 |
REQ_1.zone1 vous me pardonnerz la faute de frappe |
| |
| |
| | | |
|
| | |
| |
Posté le 09 décembre 2015 - 16:50 |
Bonjour Yann
Merci pour post, c'est une bonne idée !
Pour info, j'ai contacté le support AURA, j'ai eu confirmation que l'instruction "SQLConnecte" n'est absolument pas compatible avec l'accès natif AS400... On pouvait toujours chercher dans ces conditions !
J'utilise pour mes requêtes l'instruction "HexecuteRequeteSQL" ( j'attaque une BASE AS400), mais je me prends la tête pour récupérer le nombre de colonne renvoyée par ma requête.
L'utilisation des infos renvoyées par SQLInfogene étaient pour moi du bain béni !
Jean-Christophe |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 367 messages Popularité : +17 (17 votes) |
|
Posté le 09 décembre 2015 - 18:15 |
"SQLConnecte" n'est absolument pas compatible avec l'accès natif : c'est bien ce que je pensais, c'est l'oledb + client acces mais je me prends la tête pour récupérer le nombre de colonne renvoyée par ma requête.??? je ne comprends pas, tu as bien tes colonnes dans ton select? donc tu connais le nombre non?
-- Dominique "QNX" Lecocq IC Industrie - Binary Activity Développement enfoui - M2M |
| |
| |
| | | |
|
| | |
| |
Posté le 09 décembre 2015 - 18:35 |
Bonjour ,
A force de batailler, j'ai trouvé le code qui me convient pour extraire le nombre de colonnes du résultat renvoyée par une requête de type "HexecuteRequeteSql" :
// { Extrait la LISTE des colonnes renvoyées par la rubqrique } LNom_Rubrique = HListeRubrique(Ma_Requete_Src,hLstDétail) // { Extrait le NOMBRE de colonnes } Lnbre_Rubrique = ChaîneOccurrence(LNom_Rubrique ,RC)+1
Par cette méthode, je récupère le titre des colonnes et le nombre de colonnes de ma requête. Prochaine étape : récupérer les valeurs de chaque colonne dans une boucle de lecture du résultat de ma requête :
pour tout ma_requête ...... fin |
| |
| |
| | | |
|
| | |