PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Accès SAGE V12 ligne 100.
Accès SAGE V12 ligne 100.
Débuté par Gérard, 08 avr. 2005 15:32 - 4 réponses
Posté le 08 avril 2005 - 15:32
Bonjour,

Je débute un projet, et j'ai un soucis :

J'ai configuré le driver ODBC (sur la base de la societe de test : Bijou )
J'ai récupérer les structures tables que je voulais dans l'analyse du projet
( donc windev est connecté avec le fichier "Gescom Bijou.gcm" )
J'accede au dossier bijou sans logon ni passWord depuis Gescom.

Parcontre je ne me connecte pas avec la procedure Windev :
NomUtil et PwUtil sont à ""
PROCEDURE PRIVÉ ConnexionSage( MesErr )

MesErr = ""

IdCnxSage = SQLConnecte( NomDriverODBC,NomUtil,PwUtil,"",hODBC )

SI IdCnxSage = 0 ALORS

SQLInfoGene()

MesErr = "La connexion à la source de données " + NomDriverODBC + "a
échoué."+ RC +...

"Code erreur : " + SQL.Erreur + RC + SQL.MesErreur

RENVOYER Faux

FIN

RENVOYER Vrai

Le message d'erreur est :
La connexion à la source de données a échoué
Code erreur : IM002
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et
nom de pilote non spécifié


Comment se connecter ????


Merci de me consacrer quelques secondes, à charge de revanche.

Gérard KREBS.
Posté le 08 avril 2005 - 16:24
bonjour

je sais pas si ca t'aidera

voila un bout de mon code qui fonctionne sans problème (WD9 + SAGE V12.02)




PROCEDURE RecuperationArticleSAGE(pSoc est une chaîne)

// Exemple de connexion via ODBC
// Connexion à une source de données spécifique via ODBC sur GESCOm
// requete et affichage des articles

NumConnexion est un entier
NomSource est une chaîne

req_s est une chaîne
req_i est une chaîne
req_d est une chaîne

SELECT_QUERY est une chaîne //Nom de la requête SQL
req_rech_art est une chaîne
req_Insert_Art est un chaîne
INSERT_QUERY est une chaîne

nbLigneReq est un entier
indJauge est un entier

//Affecte le nom de la requête
req_rech_art = ""
req_Insert_Art = ""

indJauge =1
nbLigneReq = 0

NomSource = "Gescom_Serveur_" + pSoc

NumConnexion = SQLConnecte(NomSource, MONLOGIN_SAGE, MONPASSWORD_SAGE, "", "ODBC")
SI NumConnexion<>0 ALORS
// La connexion s'est bien passée

// on supprime le contenu de la table Article
//HExécuteRequête(qry_DELETE_ARTICLE)

req_s = "SELECT F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN, F_ARTICLE.EPAISSEUR, "
req_s = req_s + "F_ARTICLE.LONGUEUR, F_ARTICLE.LARGEUR, F_ARTICLE.INT_UNITEVEN, F_ARTICLE.FA_CODEFAMILLE "
req_s = req_s + "FROM F_ARTICLE "


SI SQLExec(req_s,req_rech_art) ALORS
//La requête SQL n’a pas provoquée d’erreur
//Parcours des enregistrements


SQLDernier(req_rech_art)
SQLPremier(req_rech_art)


TANTQUE PAS SQL.Endehors


//Affiche les informations à l’écran
// SQLCol prend en paramètre le nom de la requête et l’indice du champ
SI SQLCol (req_rech_art,1) <> "" ALORS

// avec un remplace pour la deuxoème colonne au cas où la désignation comporterait des apostrophes, alors dans ce cas, il faut les doubler
req_i = "INSERT INTO ARTICLE"
req_i = req_i + "( ART_Ref, ART_Desig, ART_Ep, ART_Longueur, ART_Largeur, ART_UniteVente, SFAM_Code ) "
req_i = req_i + "VALUES "
req_i = req_i + "("+ "'" + SQLCol (req_rech_art,1) + "'" + "," + "'" + Remplace(SQLCol (req_rech_art,2),"'","''") + "'" + "," + SQLCol (req_rech_art,3) + "," + SQLCol (req_rech_art,4) + "," + SQLCol (req_rech_art,5) + "," + "'" + SQLCol (req_rech_art,6) + "'" + "," + "'" + SQLCol (req_rech_art,7) + "'" +")"



SI PAS HExécuteRequêteSQL(sd_insert_art, req_i) ALORS
Info (req_i)
Erreur("Erreur d’initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN
HAnnuleDéclaration(sd_insert_art)

FIN

//Passe à l’enregistrement suivant
SQLSuivant (req_rech_art)

MultitacheRepeint
FIN


SINON
// Échec de la requête : affichage d'un message explicatif
SQLInfoGene(req_rech_art)
Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
FIN

SINON
// La connexion a échoué : affichage d'un message explicatif
SQLInfoGene()
Erreur("La connexion à la source de données" + NomSource + ...
"a échoué."+RC+...
"Code erreur : " + SQL.Erreur +RC+...
SQL.MesErreur)
FIN



//Ferme la requête SQL
SQLFerme(req_rech_art)
// Dans tous les cas (connexion OK ou pas)
SQLDéconnecte()
Message ("Récupération des articles terminée.")
Posté le 08 avril 2005 - 18:33
Ce que j'ai fait correspond à un truc près :
Dans le 'nomsource' de SQLConnecte, j'ai mis le nom qui apparait dans le
gestionnaire ODBC sous l'onglet 'Source de données utilisateur'.
Est-ce bien ça ?

Chez moi ça ne marche pas !.....
Pourtant d'ans l'analyse, je recupere bien les tables !....



"BB" <le_tut@netcourrier.com> a écrit dans le message de news:
42566c7f$1@news.pcsoft.fr...

bonjour

je sais pas si ca t'aidera

voila un bout de mon code qui fonctionne sans problème (WD9 + SAGE V12.02)




PROCEDURE RecuperationArticleSAGE(pSoc est une chaîne)

// Exemple de connexion via ODBC
// Connexion à une source de données spécifique via ODBC sur GESCOm
// requete et affichage des articles

NumConnexion est un entier
NomSource est une chaîne

req_s est une chaîne
req_i est une chaîne
req_d est une chaîne

SELECT_QUERY est une chaîne //Nom de la requête SQL
req_rech_art est une chaîne
req_Insert_Art est un chaîne
INSERT_QUERY est une chaîne

nbLigneReq est un entier
indJauge est un entier

//Affecte le nom de la requête
req_rech_art = ""
req_Insert_Art = ""

indJauge =1
nbLigneReq = 0

NomSource = "Gescom_Serveur_" + pSoc

NumConnexion = SQLConnecte(NomSource, MONLOGIN_SAGE, MONPASSWORD_SAGE, "",
"ODBC")
SI NumConnexion<>0 ALORS
// La connexion s'est bien passée

// on supprime le contenu de la table Article
//HExécuteRequête(qry_DELETE_ARTICLE)

req_s = "SELECT F_ARTICLE.AR_REF, F_ARTICLE.AR_DESIGN,
F_ARTICLE.EPAISSEUR, "
req_s = req_s + "F_ARTICLE.LONGUEUR, F_ARTICLE.LARGEUR,
F_ARTICLE.INT_UNITEVEN, F_ARTICLE.FA_CODEFAMILLE "
req_s = req_s + "FROM F_ARTICLE "


SI SQLExec(req_s,req_rech_art) ALORS
//La requête SQL n'a pas provoquée d'erreur
//Parcours des enregistrements


SQLDernier(req_rech_art)
SQLPremier(req_rech_art)


TANTQUE PAS SQL.Endehors


//Affiche les informations à l'écran
// SQLCol prend en paramètre le nom de la requête et l'indice du champ
SI SQLCol (req_rech_art,1) <> "" ALORS

// avec un remplace pour la deuxoème colonne au cas où la désignation
comporterait des apostrophes, alors dans ce cas, il faut les doubler
req_i = "INSERT INTO ARTICLE"
req_i = req_i + "( ART_Ref, ART_Desig, ART_Ep, ART_Longueur, ART_Largeur,
ART_UniteVente, SFAM_Code ) "
req_i = req_i + "VALUES "
req_i = req_i + "("+ "'" + SQLCol (req_rech_art,1) + "'" + "," + "'" +
Remplace(SQLCol (req_rech_art,2),"'","''") + "'" + "," + SQLCol
(req_rech_art,3) + "," + SQLCol (req_rech_art,4) + "," + SQLCol
(req_rech_art,5) + "," + "'" + SQLCol (req_rech_art,6) + "'" + "," + "'"
+ SQLCol (req_rech_art,7) + "'" +")"



SI PAS HExécuteRequêteSQL(sd_insert_art, req_i) ALORS
Info (req_i)
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN
HAnnuleDéclaration(sd_insert_art)

FIN

//Passe à l'enregistrement suivant
SQLSuivant (req_rech_art)

MultitacheRepeint
FIN


SINON
// Échec de la requête : affichage d'un message explicatif
SQLInfoGene(req_rech_art)
Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
FIN

SINON
// La connexion a échoué : affichage d'un message explicatif
SQLInfoGene()
Erreur("La connexion à la source de données" + NomSource + ...
"a échoué."+RC+...
"Code erreur : " + SQL.Erreur +RC+...
SQL.MesErreur)
FIN



//Ferme la requête SQL
SQLFerme(req_rech_art)
// Dans tous les cas (connexion OK ou pas)
SQLDéconnecte()
Message ("Récupération des articles terminée.")




Posté le 08 avril 2005 - 19:38
ta source de données ODBC ne serait-elle pas paramétrée en utilisateur
plutot qu'en système (onglet des propriétés ODBC)

"Gérard" <_no_spam_aurilog@wanadoo.fr> a écrit dans le message de
news:4256602f$1@news.pcsoft.fr...

Bonjour,

Je débute un projet, et j'ai un soucis :

J'ai configuré le driver ODBC (sur la base de la societe de test : Bijou )
J'ai récupérer les structures tables que je voulais dans l'analyse du

projet
( donc windev est connecté avec le fichier "Gescom Bijou.gcm" )
J'accede au dossier bijou sans logon ni passWord depuis Gescom.

Parcontre je ne me connecte pas avec la procedure Windev :
NomUtil et PwUtil sont à ""
PROCEDURE PRIVÉ ConnexionSage( MesErr )

MesErr = ""

IdCnxSage = SQLConnecte( NomDriverODBC,NomUtil,PwUtil,"",hODBC )

SI IdCnxSage = 0 ALORS

SQLInfoGene()

MesErr = "La connexion à la source de données " + NomDriverODBC + "a
échoué."+ RC +...

"Code erreur : " + SQL.Erreur + RC + SQL.MesErreur

RENVOYER Faux

FIN

RENVOYER Vrai

Le message d'erreur est :
La connexion à la source de données a échoué
Code erreur : IM002
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et
nom de pilote non spécifié


Comment se connecter ????


Merci de me consacrer quelques secondes, à charge de revanche.

Gérard KREBS.

Posté le 11 avril 2005 - 12:36
Ca y est, j'ai trouvé, le nom mis dans le nom de la base avait une faute
d'orthorgraphe, je suis passé 50X dessus sans le voir !.....
C'était vendredi !....

"Pierre BOUSQUET" <pbousquet@quid-info.fr> a écrit dans le message de news:
42569aeb$1@news.pcsoft.fr...

ta source de données ODBC ne serait-elle pas paramétrée en utilisateur
plutot qu'en système (onglet des propriétés ODBC)

"Gérard" <_no_spam_aurilog@wanadoo.fr> a écrit dans le message de
news:4256602f$1@news.pcsoft.fr...

Bonjour,

Je débute un projet, et j'ai un soucis :

J'ai configuré le driver ODBC (sur la base de la societe de test :
Bijou )
J'ai récupérer les structures tables que je voulais dans l'analyse du
projet

( donc windev est connecté avec le fichier "Gescom Bijou.gcm" )
J'accede au dossier bijou sans logon ni passWord depuis Gescom.

Parcontre je ne me connecte pas avec la procedure Windev :
NomUtil et PwUtil sont à ""
PROCEDURE PRIVÉ ConnexionSage( MesErr )

MesErr = ""

IdCnxSage = SQLConnecte( NomDriverODBC,NomUtil,PwUtil,"",hODBC )

SI IdCnxSage = 0 ALORS

SQLInfoGene()

MesErr = "La connexion à la source de données " + NomDriverODBC + "a
échoué."+ RC +...

"Code erreur : " + SQL.Erreur + RC + SQL.MesErreur

RENVOYER Faux

FIN

RENVOYER Vrai

Le message d'erreur est :
La connexion à la source de données a échoué
Code erreur : IM002
[Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable
et
nom de pilote non spécifié


Comment se connecter ????


Merci de me consacrer quelques secondes, à charge de revanche.

Gérard KREBS.