|
| Lire données HFSQL depuis une autre application (ODBC) |
| Iniciado por m.fery, 29,jul. 2019 16:12 - 7 respuestas |
| |
| | | |
|
| |
| Publicado el 29,julio 2019 - 16:12 |
Bonjour,
Je rencontre actuellement un problème avec les fichiers HFSQL et une application tierce qui doit s'interfacer avec. Je sollicite votre aide, ne sachant plus quoi essayer.
Je dois lire des données HFSQL depuis un logiciel de supervision industrielle. Je souhaite donc faire l'échange par ODBC. J'ai installé sur le PC le driver ODBC HFSQL version 20, comme ma version Windev.
Le logiciel de supervision est en 32 bits. J'ai bien déclaré et configuré mon driver depuis le ODBCAD32.exe du dossier SysWOW.
Mon problème est simple : une requête de type INSERT fonctionne parfaitement, alors que les SELECT ne fonctionnent pas.
J'ai une erreur "Ce pilote ODBC ne prend pas en charge les propriétés demandées".
Je suis donc allé plus loin, en sortant de mon logiciel de supervision, j'ai décidé de faire des essais via de simple fichiers .VBS (Mon OS étant un 64bits, j'ai aussi renseigné une source de données depuis le gestionnaire 64 bits)
Voici le fichier de requête d'INSERT. La requête fonctionne très bien et m'ajoute un enregistrement dans ma table Utilisateur:
Drv = "DSN=BDD_WD_STOCK" txtSQL = "INSERT INTO Utilisateur (util_nom) VALUES ('toto2')" Set rs = CreateObject("ADODB.Recordset") rs.Open txtSQL, Drv
Par contre, la requête de lecture, qui est censée me renvoyer le premier résultat ne fonctionne pas non plus :
Drv = "BDD_WD_STOCK" txtSQL = "SELECT * FROM Utilisateur" Set rs = CreateObject("ADODB.Recordset") rs.Open txtSQL, Drv
if not rs.EOF then msgbox rs.fields("util_nom") end if
Voici l'erreur générée :

Je ne trouve pas le problème...
Pour info, mon analyse est en local, et mes fichiers de données sont sur un serveur distant (mais pas de problème puisque l'écriture fonctionne...)
Merci d'avance. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,julio 2019 - 09:31 |
Bonjour,
Je souhaite apporter un petit avancement.
Depuis Excel, j'affiche sans problème toute la table que je veux consulter en sélectionnant ma source de données "BDD_WD_STOCK".... |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 334 mensajes |
|
| Publicado el 30,julio 2019 - 15:27 |
en regardant bêtement tes 2 scripts, je constate cette différence, peut-être explique t'elle ton pb :
Drv = "DSN=BDD_WD_STOCK"
Et
Drv = "BDD_WD_STOCK"
-- ——————————————————————————————————— Ce qui se conçoit bien se code clairement et se débogue facilement...
- Pastiche d’une citation de Nicolas Boileau - |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,julio 2019 - 08:28 |
Merci, c'est bien vu...
Je pense que cette erreur est le résultat d'innombrables essais.
Je viens de corriger mon erreur, malgré tout le problème reste identique. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,octubre 2019 - 14:16 |
Bonjour,
Après avoir exploré pas mal de pistes j'en suis toujours au même point.
Quelqu'un aurait une solution ?
Merci |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,octubre 2019 - 14:18 |
Bonjour,
Je suis toujours bloqué au même point après y avoir passé beaucoup de temps, exploré pas mal d'hypothèses...
Quelqu'un aurait une solution ?
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 953 mensajes |
|
| Publicado el 31,octubre 2019 - 14:57 |
bonjour Mathieuisii,
est-ce que vous avez testez en indiquant les noms de rubrique à récupérer plutôt que de faire un SELECT * ?
plutôt comme ceci :
txtSQL = "SELECT util_nom FROM Utilisateur" |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,octubre 2019 - 15:09 |
Bonjour,
Je vous confirme avoir fait l'essai sans succès.
PS: J'ai le même souci pour les requête d'UPDATE.
Si je fais une requête de type UPDATE ma_table SET ma_colonne = maValeur, alors ça met à jour tous les enregistrement de la table.
Par contre, si j'utilise une clause WHERE, ça ne fonctionne plus du tout et je reçoit les erreurs indiquées dans la premier message. |
| |
| |
| | | |
|
| | | | |
| | |
|