PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Développement sur AS400 sans EASYCOM avec OLEDB
Développement sur AS400 sans EASYCOM avec OLEDB
Iniciado por cciochir_at_, 03,ene. 2007 12:09 - 20 respuestas
Publicado el 03,enero 2007 - 12:09
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr
Publicado el 03,enero 2007 - 12:20
j'utilise une source ODBC, dans les paramétrage ODBC, onglet "Serveur"
j'indique la bibliothèque dans "Bibliothèque SQl par défaut"

Christian a pensé très fort :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicado el 03,enero 2007 - 16:07
Merci Pierre pour ta réponse.
Ce que j'essaie justement de faire et de ne pas utiliser les sources
ODBC car les ordres Hxxxx ne sont pas reconnus.

Jusqu'ici j'utilisait EASYCOM mais j'aimerais bien avoir une
alternative à proposer au client surtout quand c'est pour des projets
de taille moyenne où l'investissement dans des licences EASY est quand
meme important.

--
Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr
Publicado el 04,enero 2007 - 09:02
Bonjour,

Pourquoi ne pas gérer la ou les bibliothèques par la LIBLE au niveau de
profils spécifiques, utilisés par la connexion OLEDB dans ce cas ?

André




"Christian" <cciochir_at_@cmii.fr> a écrit dans le message de news:
mn.1b8b7d71f059aa44.22726@cmii.fr...

Merci Pierre pour ta réponse.
Ce que j'essaie justement de faire et de ne pas utiliser les sources
ODBC car les ordres Hxxxx ne sont pas reconnus.

Jusqu'ici j'utilisait EASYCOM mais j'aimerais bien avoir une
alternative à proposer au client surtout quand c'est pour des projets
de taille moyenne où l'investissement dans des licences EASY est quand
meme important.

--
Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr


Publicado el 04,enero 2007 - 12:46
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
.....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance


--
GG - Windeviste sur le pont.
Publicado el 04,enero 2007 - 20:33
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance


--
Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr
Publicado el 05,enero 2007 - 11:19
je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Publicado el 05,enero 2007 - 18:10
ben oui... on peut même gérer toute une liste de bibliothèques au niveau de
chaque profil, c'était le sens de ma précédente réponse qui ne semble pas
avoir eu d'écho...



"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.2a6a7d71923b4e5e.47088@hotmail.com...

je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "


Publicado el 05,enero 2007 - 18:37
Et quand tu as des fichiers dans des LIB différentes, tu te deconnectes
d'un profil et tu reconnecte avec un autre ?
C'est pas lent tout ça ?


Dans son message précédent, André Schütze a écrit :
ben oui... on peut même gérer toute une liste de bibliothèques au niveau de
chaque profil, c'était le sens de ma précédente réponse qui ne semble pas
avoir eu d'écho...



"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.2a6a7d71923b4e5e.47088@hotmail.com...

je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail (équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "




--
GG - Windeviste sur le pont.
Publicado el 06,enero 2007 - 14:56
A la base je suis fidèle à Easycom et je n'ai jamais testé par OLEDB alors
j'ignore un peu tout des possibilités et des performances... Mais en théorie
un profil peut avoir sa liste de bibliothèques et un ficher sera recherché
dans toutes les biblios de cette liste, le problème se pose surtout si un
fichier de même nom peut se trouver dans différentes librairies...
Enfin ça vaut le coup d'essayer non ?



"Gerard" <nospam_asi-rfid@cegetel.net> a écrit dans le message de news:
mn.2c1f7d717c03a289.58230@cegetel.net...

Et quand tu as des fichiers dans des LIB différentes, tu te deconnectes
d'un profil et tu reconnecte avec un autre ?
C'est pas lent tout ça ?


Dans son message précédent, André Schütze a écrit :
ben oui... on peut même gérer toute une liste de bibliothèques au niveau
de
chaque profil, c'était le sens de ma précédente réponse qui ne semble pas
avoir eu d'écho...



"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.2a6a7d71923b4e5e.47088@hotmail.com...

je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et
passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail
(équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "




--
GG - Windeviste sur le pont.


Publicado el 08,enero 2007 - 12:14
Bonjour,

Je ne peux pas gérer la bibliothèque de l'utilisateur au niveau de son
profil tout simplement parce-que les fichiers de données se trouvent
dans plusieurs bibliothèques différentes.
En gros, l'application est structurée de cette manière:
- une bibliothèque commune à tout l'applicatif
- une bibliothèque par société de travail.

En spécifiant les bibs au niveau du profil, ca veut dire qu'un meme
utilisateur doit avoir deux login différents s'il veut travailler sur
deux société, trois logins pour 3 société ... c'est ingérable !!

Maintenant si en OLEDB on ne peut pas modifier à la volée la liste des
bibliothèques alors j'arrete de chercher dans cette voie. Cependant ca
me semble curieux qu'ils (IBM) n'ai pas prévu ce genre de choses...

Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr

André Schütze a exposé le 06/01/2007 :
A la base je suis fidèle à Easycom et je n'ai jamais testé par OLEDB alors
j'ignore un peu tout des possibilités et des performances... Mais en théorie
un profil peut avoir sa liste de bibliothèques et un ficher sera recherché
dans toutes les biblios de cette liste, le problème se pose surtout si un
fichier de même nom peut se trouver dans différentes librairies...
Enfin ça vaut le coup d'essayer non ?



"Gerard" <nospam_asi-rfid@cegetel.net> a écrit dans le message de news:
mn.2c1f7d717c03a289.58230@cegetel.net...

Et quand tu as des fichiers dans des LIB différentes, tu te deconnectes
d'un profil et tu reconnecte avec un autre ?
C'est pas lent tout ça ?


Dans son message précédent, André Schütze a écrit :
ben oui... on peut même gérer toute une liste de bibliothèques au niveau
de
chaque profil, c'était le sens de ma précédente réponse qui ne semble pas
avoir eu d'écho...



"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.2a6a7d71923b4e5e.47088@hotmail.com...

je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et
passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail
(équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "




--
GG - Windeviste sur le pont.




--
Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr
Publicado el 27,junio 2007 - 16:04
Constatations :
Aprés l'établissement de la connexion avec HOuvreConnexion, Windev ou de pilote iSeries, n'accède qu'aux tables de la bibliothèque qui a le même nom que l'utilisateur (sans tenir compte de la configuration iSeries du profil de l'utilisateur).
Si mes tables sont dans la bibliothèque "toto", il me faut un utilisateur "toto" et ouvrir la connexion avec cet utilisateur.

Donc :
Créer un utilisateur avec le nom de la bibliothèque par bibliothèques à utiliser.
Configurer la connexion par : NomConnexion..utilisateur = "Utilisateur"
Ouvrir la connexion par : HOuvreConnexion(NomConnexion)
Ouvrir la table par : HOuvre(NomTable)
Faire ses traitements....
Fermer la table par : HFerme(NomTable)
Fermer la connexion par : HFermeconnexion(NomConnexion)

Pour utiliser des tables dans plusieurs bibliothèques, par exemple les données de bases (transporteurs,pays,...) dans une bibliothèque et les données spécifiques (factures,clients,...) dans une autre, je définie deux connexions.

Pour harmoniser les développements :
Les connexions sont définies directement dans l'analyse (Gestion de l'analyse/menu Analyse/Option Connexions).
Chaque table de l'analyse est associée à une connexion (Gestion de l'analyse/menu Structure de fichiers/Option Description)

Les connexions sont configurées à l'exécution par les propriétés ..utilisateur ..MotDePasse ..Serveur et ..Provider="IBMDASQL".

Voilà la ruse de sioux pas très élégante pour contourner ce problème.

Ce problème est lié à Windev ou au pilote iSeries ??
Publicado el 27,junio 2007 - 17:12
Je te redonnes le post que je t'avais fait au début.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

La definition du fichier sous le forme " nom_de_lib/NomFichier ",
permet d'utiliser simultanément plusieurs fichiers (meme de meme nom)
dans plusieurs LIB en meme temps.



Christian a utilisé son clavier pour écrire :
Bonjour,

Je ne peux pas gérer la bibliothèque de l'utilisateur au niveau de son
profil tout simplement parce-que les fichiers de données se trouvent
dans plusieurs bibliothèques différentes.
En gros, l'application est structurée de cette manière:
- une bibliothèque commune à tout l'applicatif
- une bibliothèque par société de travail.

En spécifiant les bibs au niveau du profil, ca veut dire qu'un meme
utilisateur doit avoir deux login différents s'il veut travailler sur
deux société, trois logins pour 3 société ... c'est ingérable !!

Maintenant si en OLEDB on ne peut pas modifier à la volée la liste des
bibliothèques alors j'arrete de chercher dans cette voie. Cependant ca
me semble curieux qu'ils (IBM) n'ai pas prévu ce genre de choses...

Bon développement à tous
Christian

cciochir@ _ at _ cmii.fr

André Schütze a exposé le 06/01/2007 :
A la base je suis fidèle à Easycom et je n'ai jamais testé par OLEDB alors
j'ignore un peu tout des possibilités et des performances... Mais en théorie
un profil peut avoir sa liste de bibliothèques et un ficher sera recherché
dans toutes les biblios de cette liste, le problème se pose surtout si un
fichier de même nom peut se trouver dans différentes librairies...
Enfin ça vaut le coup d'essayer non ?



"Gerard" <nospam_asi-rfid@cegetel.net> a écrit dans le message de news:
mn.2c1f7d717c03a289.58230@cegetel.net...

Et quand tu as des fichiers dans des LIB différentes, tu te deconnectes
d'un profil et tu reconnecte avec un autre ?
C'est pas lent tout ça ?


Dans son message précédent, André Schütze a écrit :
ben oui... on peut même gérer toute une liste de bibliothèques au niveau
de
chaque profil, c'était le sens de ma précédente réponse qui ne semble pas
avoir eu d'écho...



"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de news:
mn.2a6a7d71923b4e5e.47088@hotmail.com...

je ne suis pas le spécialiste AS mais lorsque je demande la création à
notre dev AS d'un nouveau compte, il spécifie la bibliothèque de
travail, ca devrait suffir non ?

Après mûre réflexion, Christian a écrit :
Je vous remercie tous pour votre aide.
Le fait est que le choix de garder les ordres Hxxx n'est pas sans
interet. Comme l'application est déjà ecrite en grande partie, réecrire
tous les ordres Hxxx en SQL n'est pas anodin et ca prendra du temps et
et provoquera forcément des erreurs.

La seule chose qui m'empeche etant cette histoire de lib ... c'est qd
meme frustrant !

Christian

Gerard avait prétendu :
Si tu travaille sans EASYCOM, il faut décrire ta liaison ODBC et
passer
en SQL pur.

SQLExec
SALAssocie
SQLPremier
....

Les ordres Hxxxxx ne fonctionnent pas.

Le nom de la lib est mis dans la requete

rq = "SELECT ..., ... FROM MALIB/MONFIC WHERE ...."

Comme ça c'est le SQL du 400 qui travaille en C/S.

Gérard


Christian avait écrit le 03/01/2007 :
Bonjour à tous,

J'ai trouvé le post suivant qui indique comment etablir une connexion
vers l'AS400 en utilisant OLEDB avec IBMDA400.

http://forum.pcsoft.fr/thread.awp…

Voici comment j'ai fait:

A l'initialisation du projet je décrit ma connexion

HDécritConnexion("connectAS","CHRIS","PWD","192.168.10.1","","IBMDA400",hOLectureEcriture)
SI PAS HOuvreConnexion("connectAS") ALORS
Erreur(HErreurInfo(hErrComplet))
FinProgramme()
FIN

Ensuite j'essaie de faire un hlitpremier sur un fichier
HChangeConnexion(PCLIENT,"connectAS")
HLitPremier(PCLIENT,CLNCLI)

Le pbm est qu'il ne trouve pas le fichier et pour cause les seules
bibliothèques que j'ai en ligne sont les bibliotheques systeme.

Question:
Comment faire pour lui spécifier la bibliothèque de travail
(équivalent
au ADDLIBLE MALIB) ?

Si vous avec une solution pouvez vous m'indiquer la marche à suivre ?

Merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "




--
GG - Windeviste sur le pont.




--
GG - Windeviste sur le pont.
Publicado el 04,abril 2011 - 19:03
René Domergue a écrit dans le message de news <4682504e$1@news.pcsoft.fr> :


Constatations :
Aprés l'établissement de la connexion avec HOuvreConnexion, Windev ou de pilote iSeries, n'accède qu'aux tables de la bibliothèque qui a le même nom que l'utilisateur (sans tenir compte de la configuration iSeries du profil de l'utilisateur).
Si mes tables sont dans la bibliothèque "toto", il me faut un utilisateur "toto" et ouvrir la connexion avec cet utilisateur.

Donc :
Créer un utilisateur avec le nom de la bibliothèque par bibliothèques à utiliser.
Configurer la connexion par : NomConnexion..utilisateur = "Utilisateur"
Ouvrir la connexion par : HOuvreConnexion(NomConnexion)
Ouvrir la table par : HOuvre(NomTable)
Faire ses traitements....
Fermer la table par : HFerme(NomTable)
Fermer la connexion par : HFermeconnexion(NomConnexion)

Pour utiliser des tables dans plusieurs bibliothèques, par exemple les données de bases (transporteurs,pays,...) dans une bibliothèque et les données spécifiques (factures,clients,...) dans une autre, je définie deux connexions.

Pour harmoniser les développements :
Les connexions sont définies directement dans l'analyse (Gestion de l'analyse/menu Analyse/Option Connexions).
Chaque table de l'analyse est associée à une connexion (Gestion de l'analyse/menu Structure de fichiers/Option Description)

Les connexions sont configurées à l'exécution par les propriétés ..utilisateur ..MotDePasse ..Serveur et ..Provider="IBMDASQL".

Voilà la ruse de sioux pas très élégante pour contourner ce problème.

Ce problème est lié à Windev ou au pilote iSeries ??



Bonjour

Voici la manière de se connecter à l'AS400 avec les providers IBMDASQL ou IBLDA400.
bres est un booléen
MaConnexion est une Connexion
MaConnexion..Utilisateur = "MonProfile"
MaConnexion..MotDePasse = "MonPassword"
MaConnexion..Serveur = "Nom ou IP AS400"
MaConnexion..BaseDeDonnées = ""
MaConnexion..Provider = "IBMDA400" ou IBMDASQL"
MaConnexion..Accès = hOLectureEcriture

//------------------------------------------
// FORTEMENT Conseillé pour l'AS400.
//Le 'Naming Convention=1' permet d'utiliser la Convention de nommage AS400
// et aussi d'utiliser la 'Library List' --> *USRLIBL fortement conseillé

MaConnexion..InfosEtendues = "Library List=*USRLIBL" + "," + Bbl_A_Ajouter
MaConnexion..InfosEtendues += ";Naming Convention=1"
bres = HOuvreConnexion(MaConnexion)
SI PAS bres ALORS
Erreur(ErreurInfo(errComplet))
FinProgramme()
FIN
Exemple :
COD_SQL est une chaine = "SELECT * FROM MONFICHIER"
HExécuteRequêteSQL("REQUETE_SQL",MaConnexion,hRequêteSansCorrection,COD_SQL)

Voila.... et cela marche très bien.
Toutes les requêtes SQL fonctionnent très bien et sans qualifier SI Bbl dans la USRLIBL ou
dans la 'Library List' . Sinon qualifiez comme suit...
COD_SQL est une chaine = "SELECT * FROM MABIB/MONFICHIER"



Publicado el 05,abril 2011 - 12:25
Bonjour
Je travaille en OLEDB sur l'AS et pour se positionner par défaut sur une bib je spécifies dans les infos étendues : "Default Collection=MABIB"
Toutes les requêtes seront exécutée sur cette bin

A noter que cette valeur peut être modifiée à chaud sans avoir besoin de se reconnecter

Voir aussi du coté "Catalog Library List" toujours dans les infos étendus
Publicado el 10,octubre 2013 - 14:39
- Sur la ligne de commande AS400 lancer : WRKJOBD JOBD(EASYCOM/EACJOBD)
- Aller en modification
- F10
- F11
- Paramètre INLLIBL
- + pour ajout de ligne
- Ajouter les BIBLIOTHEQUES QUE VOUS SOUHAITEZ VOIR EN LIGNE EN PERMANENCE
NB : Votre profil doit avoir les droits pour vous permettre de modifier EACJOBD
Publicado el 11,octubre 2013 - 18:25
ZOMIKOGUI : relis le titre du post "sans EASYCOM avec OLEDB"

En OLEDB on se fiche complètement de la liste des bib de l'utilisateur, il suffit juste d'indiquer la bib dans "Default Collection"
On peut même s'en passer si on nomme explicitement les bib dans les requêtes

Il faut par contre avec les droits d'accès à ces bibliothèques
Publicado el 28,octubre 2013 - 11:06
Depuis la version V5R1 de l'AS400 , Client access fournit en .net un accès à l'AS400 depuis une application WINDEV Ou Visual.Cette méthode est beaucoup plus performante et surtout plus facile à déployer que ODBC ou OLEDB et la gestion des bibliothèques est plus simple.
Bon dev.
Publicado el 19,noviembre 2018 - 15:32
Dans l'onglet "Serveur" de la connexion ODBC créée sur le poste, il y a la zone "Bibliothèque SQL par défaut". C'est la que l'on peut mettre le nom de la bibliothèque de travail. Sinon, on peut aussi le préciser directement dans la requête, comme on fait en SQL sur l'AS400: "select * from ma_bib/mon_fichier". En espérant que cela aidera.
Miembro registrado
81 mensajes
Publicado el 29,julio 2020 - 10:46
Bonjour.

je déterre ce sujet (à gros coup de pelleteuse).

je désire moi aussi me passer des services de easycom (ça soule de devoir payer des licences developpeur et utilisateur pour des petites applis) et utiliser OLEDB.

cependant je ne connais absolument pas le principe.

si quelqu'un pouvait me guider ça serait sympa.

dejà, je suppose qu'il faut installer le provider. Où est ce que je le trouve ? (je cherche depuis un moment mais le site d'IBM est incompréhensible)

ensuite comment ça se configure (y a qq chose à faire dans windows je suppose)

sur l'as400 , dois je faire qq chose de particulier (lui indiquer par une commande quelconque que je vais l'attaquer par OLEDB ?)


NB : je suis en V5R2 (oui je sais....)
Publicado el 30,julio 2020 - 09:01
Bonjour,

Tout d'abord il faut créer une analyse. Sélectionner OLE DB puis IBM DB2 for i IBMDA400 OLEDB Provider.

Il faut ensuite saisir les paramètres de la connexion : Nom d'utilisateur, Mot de passe.

Il faut aussi renseigner les paramètres avancés. Pour mon cas, j'ai les informations étendues suivantes :
Library List=*USRLIBL;Naming Convention=1;

Si l'application ne va taper que dans une seule BIB AS400, il est possible d'affiner les informations étendues comme suit :
Library List=*USRLIBL;Naming Convention=1;Default Collection=MA_BIB_QUI_VA_BIEN;

Dans le code, j'initialise la connexion à la BDD comme celà :
LOCAL
cnxCnx est une Connexion

cnxCnx..Serveur = "AS400" // Nom ou IP de l'AS
cnxCnx..BaseDeDonnées = "S0670eer" // Nom de la base de données
cnxCnx..Accès = hOLectureEcriture
cnxCnx..Utilisateur = "UtilisateurQuiVaBien"
cnxCnx..MotDePasse = "MotDePasseQuiVaBien"
cnxCnx..Provider = "IBMDA400"
cnxCnx..InfosEtendues = "Initial Catalog=S0670eer;Library List=*USRLIBL;Naming Convention=1;" // Les mêmes infos étendues décrites plus haut
cnxCnx..OptionsCurseur = hCurseurClient


Et ensuite, je peux utiliser les focntions H... proposées par Windev.