OVH Cloud OVH Cloud

Problème accés Hyperfile par ODBC

11 réponses
Avatar
FabSteg
Bonjour,

Je travail sur un projet en Visual Basic 6 mais se connectant par ODBC
à une base Hyperfile.
Je fait bien ma connexion mais j'ai plusieurs problèmes à l'éxécution
des requêtes, soit je n'ai aucun résultat en retour, soit (pour la même
requête) j'ai le message d'erreur suivant :
- SELECT * FROM ...
Erreur interne à la DLL WDSQL

D'ou vient ce message, que dois-je faire pour éxécuter ma requête et
avoir des résultats en retour

Merci


FabSteg

10 réponses

1 2
Avatar
mat
FabSteg wrote:
Bonjour,

Je travail sur un projet en Visual Basic 6 mais se connectant par ODBC
à une base Hyperfile.
Je fait bien ma connexion mais j'ai plusieurs problèmes à l'éxécution
des requêtes, soit je n'ai aucun résultat en retour, soit (pour la même
requête) j'ai le message d'erreur suivant :
- SELECT * FROM ...
Erreur interne à la DLL WDSQL

D'ou vient ce message, que dois-je faire pour éxécuter ma requête et
avoir des résultats en retour



"Select * FROM " n'est acceptable pour Hyperfile que pour un seul
fichier, donc si le FROM en inclue plusieurs, c'est probablement la
raison de l'erreur.
Avatar
FabSteg
mat a écrit :

"Select * FROM " n'est acceptable pour Hyperfile que pour un seul
fichier, donc si le FROM en inclue plusieurs, c'est probablement la
raison de l'erreur.



Bonjour,

Non, non, je fais ma requête sur un seul fichier.
Je suis désolé j'aurais dû afficher ma requête en entier :

SELECT * FROM PLANNING_FABRIC WHERE URGENT=1 AND TERMINEE='0' ORDER BY
RESINE, CLE_TEINTE

Voila, merci


FabSteg
Avatar
Gégé
FabSteg a écrit :
SELECT * FROM PLANNING_FABRIC WHERE URGENT=1 AND TERMINEE='0' ORDER BY
RESINE, CLE_TEINTE




De mémoire, toutes les colonnes d'une table sont vues sous le même type
(CHAR ou VARCHAR). Fais un essai aussi sans préciser la clause de tri :

SELECT * FROM PLANNING_FABRIC WHERE URGENT='1' AND TERMINEE='0'
Avatar
FabSteg
Gégé a écrit :
FabSteg a écrit :

SELECT * FROM PLANNING_FABRIC WHERE URGENT=1 AND TERMINEE='0' ORDER BY
RESINE, CLE_TEINTE




De mémoire, toutes les colonnes d'une table sont vues sous le même type
(CHAR ou VARCHAR). Fais un essai aussi sans préciser la clause de tri :

SELECT * FROM PLANNING_FABRIC WHERE URGENT='1' AND TERMINEE='0'




effectivement j'avais déjà un problème de varchar mais maintenant mon
souci est différent :

Je lance mon programme : message d'erreur "Erreur interne à la DLL WDSQL"

Ensuite je tente la connexion ODBC via ACCESS, tout fonctionne, donc je
relance mon programme et là tout marche, maintenant j'ai un timer qui
m'éxécute cette même requête toute les 6 secondes et au bout d'une
trentaines de secondes j'ai de nouveau le message d'erreur interne à la DLL.

Je comprends plus !

Merci

FabSteg
Avatar
Gégé
FabSteg a écrit :
Je comprends plus !



Personnellement, j'avais testé le pilote ODBC en 7.5 et j'avais
abandonné pour les problèmes aléatoires dont tu parles.
Avatar
FabSteg
Gégé a écrit :
FabSteg a écrit :

Je comprends plus !




Personnellement, j'avais testé le pilote ODBC en 7.5 et j'avais
abandonné pour les problèmes aléatoires dont tu parles.




ah d'accord j'ai vraiment l'impression que leur gestion de l'hyperfile
par ODBC n'est pas fiable du tout !
Mon problème est que je n'ai pas d'autre choix que de passer par la
connexion ODBC pour accéder à Hyperfile avec Visual Basic.
Comment puis-je faire ?

Merci
Avatar
sebNews
Juste une idée
HF ==> ODBC ==> ACCESS
Sur Access une requête par table sans condition
Depuis VB ==> Requête sur requête Access basée sur la table.
Exemple table Client en HF
sous Access lier les tables par ODBC
puis requête avec select * : QBECLIENT
Sous VB faire requête sur la table QBECLIENT

Pas testé mais à voir

Sébastien




"FabSteg" a écrit dans le message de
news:ct84re$lpr$
Gégé a écrit :
> FabSteg a écrit :
>
>> Je comprends plus !
>
>
> Personnellement, j'avais testé le pilote ODBC en 7.5 et j'avais
> abandonné pour les problèmes aléatoires dont tu parles.
>

ah d'accord j'ai vraiment l'impression que leur gestion de l'hyperfile
par ODBC n'est pas fiable du tout !
Mon problème est que je n'ai pas d'autre choix que de passer par la
connexion ODBC pour accéder à Hyperfile avec Visual Basic.
Comment puis-je faire ?

Merci


Avatar
Gégé
FabSteg a écrit :
Mon problème est que je n'ai pas d'autre choix que de passer par la
connexion ODBC pour accéder à Hyperfile avec Visual Basic.
Comment puis-je faire ?



Tu peux essayer de passer par WDScript qui peut s'exécuter en ligne de
commande.
Avatar
FabSteg
sebNews a écrit :
Juste une idée
HF ==> ODBC ==> ACCESS
Sur Access une requête par table sans condition
Depuis VB ==> Requête sur requête Access basée sur la table.
Exemple table Client en HF
sous Access lier les tables par ODBC
puis requête avec select * : QBECLIENT
Sous VB faire requête sur la table QBECLIENT

Pas testé mais à voir

Sébastien




Bonjour,

Comment fait-on pour lier les tables Access avec celles en HF par ODBC
car moi j'ai fait importer les tables depuis le pilote ODBC mais le
contenu des tables ne se met pas à jour en même temp !

Pour le reste j'arrive bien à accéder à Access depuis VB donc il ne me
reste plus que le lien HF ==> Access qui doit se synchroniser



FabSteg
Avatar
FabSteg
c'est bon j'ai enfin réussi,

il suffit de faire lier les tables et non de les importer !

Tout marche bien maintenant, le système est un tout petit peu plus lent
désormais.
Donc voila la solution :
HF -> ODBC -> ACCESS -> ODBC -> Visual Basic
on créer une liaison ODBC sur l'analyse Hyperfile
On créer une base de données Access, et on lie les tables voulus de
l'analyse par l'odbc crée. On sauvegarde.
ensuite on créer une nouvelle liaison odbc mais cette fois pointant sur
la base de données Access que l'on utilise dans visual basic.

C'était un peu lourd comme pratique mais ça fonctionne mieux que
directement : HF -> ODBC -> Visual Basic


Merci à tous pour votre aide


FabSteg
1 2