Précédent   Forum des professionnels en informatique > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/08/2011, 14h15   #1
Invité de passage
 
Homme Loïc Monet
Développeur informatique
Inscription : août 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Loïc Monet
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : août 2011
Messages : 2
Points : 0
Points : 0
Par défaut Pb sur base windev HFCS

Boujour,

Je développe une application sur Windev 15 qui récupère des données sur une base oracle et doit mettre à jour une base hyperfile c/s. Je n'ai pas créé d'analyse et souhaite uniquement faire des maj par SQL.
La connexion à la base oracle et la récupération des données fonctionne correctement
par contre je n'arrive pas a exécuter une requete sur la base hyperfile c/s.
a priori la connexion est correcte..
Voici mon code pour la base hyperfile c/s :

Execution_Correct est un booléen
Ma_Requete_SQL est une chaîne
MaSourceDonnee est une Source de Données
MaConnexion est une Connexion

//Description de la connexion
MaConnexion..Utilisateur = "admin"
MaConnexion..MotDePasse = "Password01"
MaConnexion..Serveur = "rmfrchaa006:4900"
MaConnexion..BaseDeDonnées = "Gaz_Base"
MaConnexion..Provider = hAccèsHFClientServeur
MaConnexion..Accès = hOLectureEcriture
MaConnexion..InfosEtendues = "Infos étendues" //-> optionnel
MaConnexion..OptionsCurseur = hCurseurClient

Execution_Correct = HOuvreConnexion(MaConnexion)
SI PAS Execution_Correct ALORS
Erreur("Erreur Ouverture Connexion HyperFileSQL HOuvreConnexion : " + HErreurInfo())
FIN

Execution_Correct = HChangeConnexion("Test_Vehicule",MaConnexion)
SI PAS Execution_Correct ALORS
Erreur("Erreur HChangeConnexion Hyperfile Client Serveur : " + HErreurInfo())
FIN

Ma_Requete_SQL = "SELECT * FROM Test_Vehicule;"

Execution_Correct = HExécuteRequêteSQL(MaSourceDonnee,MaConnexion,Ma_Requete_SQL)
SI PAS Execution_Correct ALORS
Erreur("Erreur HyperFileSQL HExécuteRequêteSQL : " + HErreurInfo())
FIN

// Deconnexion Hyperfile SQL C/S
HFermeConnexion(MaConnexion)

Merci d'avance.
mèalornon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 19h02   #2
Membre Expert
 
Inscription : juillet 2002
Messages : 1 216
Détails du profil
Informations personnelles :
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2002
Messages : 1 216
Points : 2 030
Points : 2 030
Bonjour
Quand tu dis que tu n'arrives pas à exécuter une requête, tu as un message d'erreur ?

Pour du code source utilise la balise [CODE] (bouton #)
hpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 19h24   #3
Membre chevronné
 
Avatar de miripesage
 
Homme Said
pesage electronique
Inscription : novembre 2009
Messages : 482
Détails du profil
Informations personnelles :
Nom : Homme Said
Localisation : Algérie

Informations professionnelles :
Activité : pesage electronique
Secteur : Industrie

Informations forums :
Inscription : novembre 2009
Messages : 482
Points : 643
Points : 643
Bonjour, Ton code un peu modifié :
Citation:
Envoyé par mèalornon Voir le message
Boujour,

Je développe une application sur Windev 15 qui récupère des données sur une base oracle et doit mettre à jour une base hyperfile c/s. Je n'ai pas créé d'analyse et souhaite uniquement faire des maj par SQL.
La connexion à la base oracle et la récupération des données fonctionne correctement
par contre je n'arrive pas a exécuter une requete sur la base hyperfile c/s.
a priori la connexion est correcte..
Voici mon code pour la base hyperfile c/s :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Ma_Requete_SQL est une chaîne
MaSourceDonnee est une Source de Données
MaConnexion est une Connexion 
 
//Description de la connexion 
MaConnexion..Utilisateur = "admin" 
MaConnexion..MotDePasse = "Password01" 
MaConnexion..Serveur = "rmfrchaa006:4900" 
MaConnexion..BaseDeDonnées = "Gaz_Base" 
MaConnexion..Provider = hAccèsHFClientServeur 
MaConnexion..Accès = hOLectureEcriture 
MaConnexion..InfosEtendues = "Infos étendues" //-> optionnel
MaConnexion..OptionsCurseur = hCurseurClient 
 
SI PAS HOuvreConnexion(MaConnexion) ALORS
Erreur("Erreur Ouverture Connexion HyperFileSQL HOuvreConnexion : " + HErreurInfo())
FIN
 
SI PAS HChangeConnexion("Test_Vehicule",MaConnexion) ALORS
Erreur("Erreur HChangeConnexion Hyperfile Client Serveur : " + HErreurInfo())
FIN
sablier()
 
Ma_Requete_SQL = "SELECT * FROM Test_Vehicule"
 
SI HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","Ma_Requete_SQL")ALORS
HLitPremier(MaSourceDonnee)//parcours des résultats
SI PAS HEnDehors(MaSourceDonnee) ALORS
.......................
FIN
Sablier(Faux)
 
 
// Deconnexion Hyperfile SQL C/S
HFermeConnexion(MaConnexion)
miripesage est déconnecté   Envoyer un message privé Réponse avec citation 03
Vieux 05/08/2011, 20h03   #4
Membre Expert
 
Inscription : juillet 2002
Messages : 1 216
Détails du profil
Informations personnelles :
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2002
Messages : 1 216
Points : 2 030
Points : 2 030
Citation:
Envoyé par miripesage
SI HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","Ma_Requete_SQL")ALORS
C'est censé faire quoi ça ? ....

EDIT : je complète ma question :
MaConnexion est le nom d'une variable de type Connexion, pourquoi tu mets ça dans une chaîne ?
Avec un peu de chance et la permissivité de Windev ça pourrait ne pas planter, mais pourquoi modifier quelque chose qui est correct par ça ?
Ma_Requete_SQL est le nom d'une variable qui contient le texte de la requête, pourquoi tu mets ça dans une chaîne ???
hpascal est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/08/2011, 12h26   #5
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Ben si tu mettais le message d'erreur, ça aiderait peut être non ?

Citation:
Envoyé par mèalornon Voir le message
Boujour,

par contre je n'arrive pas a exécuter une requete sur la base hyperfile c/s.
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 00h42   #6
Membre chevronné
 
Avatar de miripesage
 
Homme Said
pesage electronique
Inscription : novembre 2009
Messages : 482
Détails du profil
Informations personnelles :
Nom : Homme Said
Localisation : Algérie

Informations professionnelles :
Activité : pesage electronique
Secteur : Industrie

Informations forums :
Inscription : novembre 2009
Messages : 482
Points : 643
Points : 643
Citation:
Envoyé par hpascal Voir le message
C'est censé faire quoi ça ? ....

EDIT : je complète ma question :
MaConnexion est le nom d'une variable de type Connexion, pourquoi tu mets ça dans une chaîne ?
Avec un peu de chance et la permissivité de Windev ça pourrait ne pas planter, mais pourquoi modifier quelque chose qui est correct par ça ?
Ma_Requete_SQL est le nom d'une variable qui contient le texte de la requête, pourquoi tu mets ça dans une chaîne ???
Bonjour, je pense que :
Code :
1
2
HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","SELECT * FROM Test_Vehicule"
)
est la même chose que le code que j'ai donné précedement, car :
Ma_Requete_SQL est une chaine="SELECT * FROM Test_Vehicule"
Je ne vois pas où est le probleme(avec ou sans guillemets pour "MaConnexion"). J'aimerais bien que mealornon nous donne le résultat s'il a testé le code.
miripesage est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 07/08/2011, 10h41   #7
Membre Expert
 
Inscription : juillet 2002
Messages : 1 216
Détails du profil
Informations personnelles :
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2002
Messages : 1 216
Points : 2 030
Points : 2 030
miripesage
tu ne vois où est le problème dans ton code ? :
Code :
1
2
Ma_Requete_SQL = "SELECT * FROM Test_Vehicule"
SI HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","Ma_Requete_SQL") ...
Ce n'est certainement pas la même chose que :
Code :
HExécuteRequêteSQL(MaSourceDonnee,"MaConnexion","SELECT * FROM Test_Vehicule")
Fais juste un essai tu verras ...
Il n'y a pas besoin de faire de test, on aura un beau message "Erreur dans le code SQL de le requête ... mot inattendu : Ma_Requete_SQL"

Mais je pense que c'est certainement une faute de frappe

Pour "MaConnexion" ça marche comme je l'ai dit, vu le coté permissif de Windev, mais ce n'est pas logique de modifier du code correct par une syntaxe obsolète, c'est tout
hpascal est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/08/2011, 10h01   #8
Invité de passage
 
Homme Loïc Monet
Développeur informatique
Inscription : août 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Loïc Monet
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : août 2011
Messages : 2
Points : 0
Points : 0
Par défaut Problème résolu partiellement

Merci pour toutes vos remarques,

Tout d'abord effectivement (honte à moi!) le passage de la variable objet en chaine n'est pas hortodoxe...
Une excuse n"anmoins je débute avec windev..
Bon j'ai résolu le problème en créant une analyse sur la base HPFS... là il accepte d'exécuter la requete malgré la laideur du code..
l'application possède un Timer qui lit des données dans une base oracle et met à jour les données d'une base HPFS...
Il doit certainement être possible d'exécuter sur une base HPFS un code effectuant une connexion à la base, exécutant une requête SQL et fermant la connexion tout simplement.
Si quelqu'un a du code merci d'avance...
mèalornon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h38.


 
 
 
 
Partenaires

Hébergement Web