Problème utilisation HDéclareExterne() dans un WebService.
Bonjour à tous,
Voici un autre problème que j'ai et sur lequel je m'arrache les cheveux depuis plusieurs jours.
J'ai un Web Service qui est supposé ce connecter à une base de données dont il connait le chemin et exécuter des requêtes dessus, après il traite les résultats, etc ... Le problème vient au moment de la récupération des données dans la table de la base de données. Voici un extrait de mon code pour me connecter à la base de données :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
gcnxCnx_Access..Provider = "Microsoft.ACE.OLEDB.12.0"
gcnxCnx_Access..Utilisateur = ""
gcnxCnx_Access..MotDePasse = ""
gcnxCnx_Access..Serveur = gsBase
gcnxCnx_Access..BaseDeDonnées = ""
gcnxCnx_Access..Accès = hOLectureEcriture
gcnxCnx_Access..OptionsCurseur = hCurseurServeur
// Ouverture de la connexion
SI HOuvreConnexion(gcnxCnx_Access) ALORS
RENVOYER Recuperation_Donnees_Table()
SINON
Ajoute_Info_Log(HErreurInfo(hErrComplet))
RENVOYER Faux
FIN |
Ce code-ci renvoie vrai jusqu'à : "RENVOYER Recuperation_Donnees_Table()"
Le code de cette procédure étant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
PROCEDURE PRIVÉE Recuperation_Donnees_Table() : booléen
LOCAL
i est un entier = 1
sTables_intermediaires est une chaîne = Remplace(ExtraitChaîne(sTable,i," INNER JOIN "),["(",")"],"")
TANTQUE PAS (sTables_intermediaires ~= EOT OU sTables_intermediaires ~= "")
SI PAS HDéclareExterne(sTables_intermediaires,sTables_intermediaires,gcnxCnx_Access) ALORS
Ajoute_Info_Log("Les données n'ont pas été récuperées." + RC + HErreurInfo(hErrComplet))
RENVOYER Faux
FIN
i++
sTables_intermédiaires = ExtraitChaîne(ExtraitChaîne(sTable,i,"JOIN "),1," ON ")
FIN
RENVOYER Vrai |
Là où ça bloque, c'est à l'appel : "HDéclareExterne(sTables_intermediaires,sTables_intermediaires,gcnxCnx_Access)" qui renvoie faux, alors que si je fais mes tests en test de procédure, cela fonctionne très bien.
Du coup, je n'arrive pas à comprendre ce qui peux clocher, sachant que ma connexion est belle et bien effectuée et que sTables_intermediaires contient bien les noms des tables utilisées dans la requête.
Merci à ceux qui auront le courage de me lire et de me répondre.
Bonne journée/soirée
Cordialement, Warren.