| |
Miembro registrado 48 mensajes |
|
| Publicado el 19,julio 2020 - 16:42 |
Bonjour Je suis entrin de devlopper une application qui a une connexion multi base une HFSQl et SQL SERVER, je me connecte au sql server avec succee mais je n'arrive pas recuperer les enregistrement d'une table sql server voila mon code :
Nouvelle_connexion est une Connexion
Nouvelle_connexion ..Provider = hOledbSQLServer Nouvelle_connexion ..Utilisateur = "********" Nouvelle_connexion ..MotDePasse = "********" Nouvelle_connexion ..Serveur = "****" Nouvelle_connexion ..BaseDeDonnées = "*****" Nouvelle_connexion ..Accès = hOLectureEcriture
SI PAS HOuvreConnexion ( Nouvelle_connexion ) ALORS Erreur(HErreurInfo()) RETOUR SINON Info("connexion réussi") FIN sdReqSQL est une Source dede Données sReq est une chaîne sdData est une Source dede Données sReq = [ SELECT * FROM CHARGEMENT ] TableSupprimeTout(TABLE_CHARGEMENT) SI HExécuteRequêteSQL(sdData,hRequêteDéfaut,sReq) ALORS TableAjoute(TABLE_CHARGEMENT,sdData) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 19,julio 2020 - 17:11 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 19,julio 2020 - 19:56 |
Bonjour,
Vu d'ici je dirais qu'il manque un HChangeConnexion("*",Nouvelle_connexion). C'est bien beau d'ouvrir la connexion mais si tu ne dis pas que les fichiers de ton analyse doivent utiliser la nouvelle connexion ça ne peut pas fonctionner.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
| Publicado el 20,julio 2020 - 11:26 |
Bonjour,
A mon sens, ce qui manque est la déclaration des tables que l'on souhaite accéder avec la connexion dans l'analyse, du genre HDéclareExterne("CHARGEMENT","CHARGEMENT",Nouvelle_connexion). Sinon, pour éviter cela, il faut plutôt utiliser le SQLConnecte.
Cordialement,
Didier |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 20,julio 2020 - 12:45 |
Bonjour dans le sdData il ya un parametre |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 20,julio 2020 - 13:54 |
sdData devrait contenir toutes les données de la requêtes
pour la table TABLE_CHARGEMENT : FichierVersTableMémoire(TABLE_CHARGEMENT , sdData ) ..? ou alors une boucle ..?
il est clair que sdData doit contenir plus d'une ligne
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 20,julio 2020 - 17:29 |
@Mustapha: Tu n'es pas sur la bonne connexion !!!
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 10:47 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 21,julio 2020 - 11:04 |
Je te l'ai dit plus haut. Tu crées une connexion mais tu ne dis jamais à ton application de l'utiliser. Pour ça il y a HChangeConnexion().
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 11:38 |
Le message d'erreur qui provien est: Vous avez appelé la fonction HExécuteRequêteSQL. erreur dans le code sql de la requete <_Source_SdData_1>.initialisation de la requete impossible. Fichier CHARGEMENT inconnu erreur détéctée : SELECT * FROM >>>>CHARGEMENT<<<<< |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 953 mensajes |
|
| Publicado el 21,julio 2020 - 12:58 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 21,julio 2020 - 13:53 |
Vous dites aux début que votre application est multi base : est-ce la même base de données à chaque fois, identique à l'analyse du projet ? ou bien des bases de données différentes (structures différentes)?
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 15:24 |
Jutilise une base de données en HFSQL c/s et une auttre en SQL SERVER. je fait une ecriture dans la base SQL server depuis ma base hfsql. pour la connexion ca marche avec : Nouvelle_connexion est une Connexion // Paramètres de la connexion Nouvelle_connexion ..Provider = hOledbSQLServer Nouvelle_connexion ..Utilisateur = "********" Nouvelle_connexion ..MotDePasse = "********" Nouvelle_connexion ..Serveur = "****" Nouvelle_connexion ..BaseDeDonnées = "*****" Nouvelle_connexion ..Accès = hOLectureEcriture // Ouverture de la connexion SI PAS HOuvreConnexion ( Nouvelle_connexion ) ALORS Erreur(HErreurInfo()) RETOUR SINON Info("connexion réussi") FIN ca marche mais le probleme je veux remplire le champ table pour afficher les enregistrement dans la table chargement qui ce trouve dans SQL serer, jai executer ce code : sdReqSQL est une Source de Données sReq est une chaîne sdData est une Source de Données sReq = [ SELECT * FROM CHARGEMENT ] TableSupprimeTout(TABLE_CHARGEMENT) SI HExécuteRequêteSQL(sdData,hRequêteDéfaut,sReq) ALORS TableAjoute(TABLE_CHARGEMENT,sdData) FIN il me retourne une erreur que la table chargement est inconu ??? ( la table chargement est dans le SQL SERVER. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 15:26 |
Bonjour Christophe j'ai fait comme l'exemple que tu ma envoyer mais tj le meme pb l'erreur retourné est que la table chargement qui ce trouve dans sql server est inconu? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 21,julio 2020 - 15:56 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 21,julio 2020 - 16:16 |
Bonjour,
Je persiste et je pense que ta requête n'est pas effectuée sur la bonne connexion. Pour le moment ta requête s'exécute sur la base HF qui ne contient peut-être pas ce fameuse table chargement.
Il faudrait faire
SI HExécuteRequêteSQL(sdData,Nouvelle_connexion ,hRequêteDéfaut,sReq) ALORS TableAjoute(TABLE_CHARGEMENT,sdData) FIN
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 16:29 |
Bonjour Philippe SB Sa na pas marcher tj le meme message d'erreur : Vous avez appelé la fonction HExécuteRequeteSQL. Erreur dans le code SQL de la requete <_Source_sdData_1>. Initialisation de la requete impossible. Fichier CHARGEMENT Inconu |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 21,julio 2020 - 16:36 |
Bonjour THIERRY TILLIER Non ya pas d'erreur d'ortographe j'ai verifier |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 21,julio 2020 - 16:40 |
@Philippe ce ne serait pas mieux avec une autre option : hRequêteSansCorrectionHF
HExécuteRequêteSQL(sdData,Nouvelle_connexion ,hRequêteSansCorrectionHF,sReq)
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 21,julio 2020 - 17:28 |
@THIERRY TILLIER: L'option importe peu, c'est juste pour lui dire sur quelle connexion il doit effectuer la requête. Si rien n'est précisé, la requête s'effectue sur la connexion en cours
@Mustapha Si tu lances la requête dans SQL Management ça dit quoi ?
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 22,julio 2020 - 08:57 |
avec ou sans hRequêteSansCorrectionHF le résultat peut être différent. Sous Oracle j'ai eu le même type d'erreur si j'utilisais juste hRequêteDéfaut, alors qu'avec hRequêteSansCorrectionHF la requête s'exécutait bien.
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 22,julio 2020 - 10:13 |
C'est bon à savoir, pourtant il me semblait que ce paramètre ne servait que pour formater la requête correctement.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
| Publicado el 22,julio 2020 - 10:17 |
Bonjour,
J'insiste par rapport à la déclaration de la table SQL à manipuler dans l'analyse, comme indiqué dans mon post du 20 juillet :
"Bonjour,
A mon sens, ce qui manque est la déclaration des tables que l'on souhaite accéder avec la connexion dans l'analyse, du genre HDéclareExterne("CHARGEMENT","CHARGEMENT",Nouvelle_connexion). Sinon, pour éviter cela, il faut plutôt utiliser le SQLConnecte."
Cordialement,
Didier |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.173 mensajes |
|
| Publicado el 22,julio 2020 - 11:15 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 22,julio 2020 - 12:26 |
Bonjour J'ai resolu mon pb car le etais dans la definition de la connexion alors j'ai changer la connexion :
H.ModeSQLServer = 0 SI PAS HDécritConnexion(gsConnSQL,SAI_User,SAI_MP,SAI_Adr,SAI_Database,hOledbSQLServer,hOLectureEcriture,"WD Command Timeout=120;WD Lock Timeout=30;WD Connection Timeout=10",hCurseurClient+hCurseurPessimiste) ALORS Info(HErreurInfo(hErrComplet)) RENVOYER Faux SINON SI PAS HOuvreConnexion(gsConnSQL) ALORS Info(HErreurInfo(hErrComplet)) RENVOYER Faux FIN FIN comme ca j'ai pu lire et ecrire dans les tables SQLSERVER Merci a tous  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
| Publicado el 10,septiembre 2020 - 19:33 |
| Bonsoir, as-tu réglé ton probléme ou pas encore ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 48 mensajes |
|
| Publicado el 13,septiembre 2020 - 10:14 |
Salut J'ai reglé le probleme de la connexion ca marche meme pour une requete de update ca marche mais un probleme persiste, c'est que l'execution de cette requette ne donne rien: PROCÉDURE Chargement() HLitRecherchePremier(Centre, Flag, "S") SI HTrouve() = Vrai ALORS //Info("Enregistrement trouvé"+Centre.Des) SINON Erreur("Aucun enregistrement ne correspond") FIN H.ModeSQLServer = 0 SI PAS HDécritConnexion(gsConnSQL,"*****"************************************",hOledbSQLServer,hOLectureEcriture,"WD Command Timeout=120;WD Lock Timeout=30;WD Connection Timeout=10",hCurseurClient+hCurseurPessimiste) ALORS Info(HErreurInfo(hErrComplet)) RENVOYER Faux SINON SI PAS HOuvreConnexion(gsConnSQL) ALORS Info(HErreurInfo(hErrComplet)) RENVOYER Faux FIN FIN sReq est une chaîne sdData est une Source de Données sReq = [ INSERT INTO TRF_CHARGEMENT ([TYPE_DOCUMENT] ,[REFERENCE] ,[Centre] ,[Produit] ,[EMBALLAGE] ,[DATE_OPERATION] ,[QTE] ) SELECT dbe.Type_Doc, dbe.reference_doc_fa, be.Code_cds_source, dbe.Code_Prod, dbe.code_emballage, dbe.Date_BE, dbe.Quantite FROM Detail_BE AS dbe LEFT JOIN Bon AS be ON bon.Num_Date = dbe.bon.Num_Date WHERE dbe.bon.Num_Date= SAI_Reference ] HExécuteRequêteSQL(sdData,gsConnSQL,hSansBind+hRequêteSansCorrection,sReq) HFermeConnexion(gsConnSQL) |
| |
| |
| | | |
|
| | |