Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Connexion à une base HFCS distante

7 réponses
Avatar
Eric
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?

--
Eric

7 réponses

Avatar
Gilles
Eric a formulé la demande :
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?



Bonjour,

Tu ne peux pas utiliser d'ordre H sans avoir expliqué à l'analyse d'où
viennent tes données.

Hdeclare* est une piste pour toi...
Avatar
Tanguy
Eric a formulé la demande :
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?



Bonjour,

Tu ne peux pas utiliser d'ordre H sans avoir expliqué à l'analyse d'où
viennent tes données.

Hdeclare* est une piste pour toi...



En fait tes fichiers ne doivent pas etre ouverts... pour vérifier leur
présence, il faut faire un HOuvre() lors de la connexion...

ou HCreationSiInexistant() ps: qui fonctionne meme avec une base MySQL
;)

Mais avant, le plus important si ce n'est pas la connexion définie dans
l'analyse du projet :

HChangeConnexion("*", MaConnexionHFCS) //Mettre la connexion ouverte
avec HOuvreConnexion...

--
Contact : http://tanguy.ath.cx
Avatar
Gilles
Tanguy a écrit :
Eric a formulé la demande :
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?



Bonjour,

Tu ne peux pas utiliser d'ordre H sans avoir expliqué à l'analyse d'où
viennent tes données.

Hdeclare* est une piste pour toi...



En fait tes fichiers ne doivent pas etre ouverts... pour vérifier leur
présence, il faut faire un HOuvre() lors de la connexion...



Depuis quand faut-il ouvrir des fichiers pour procéder à la lecture?
Windev l'a toujours fait automatiquement.

ou HCreationSiInexistant() ps: qui fonctionne meme avec une base MySQL ;)



Parenthèse :
Créer des tables avec Windev sur une autre base qu'hyperfile, ce n'est
vraiment, mais vraiment pas professionnel.
Avec une base tierce, on crée les tables de manière adaptée avec des
outils et nommages adaptés, puis on importe dans l'analyse.
Avatar
Tanguy
Tanguy a écrit :
Eric a formulé la demande :
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?



Bonjour,

Tu ne peux pas utiliser d'ordre H sans avoir expliqué à l'analyse d'où
viennent tes données.

Hdeclare* est une piste pour toi...



En fait tes fichiers ne doivent pas etre ouverts... pour vérifier leur
présence, il faut faire un HOuvre() lors de la connexion...



Depuis quand faut-il ouvrir des fichiers pour procéder à la lecture?
Windev l'a toujours fait automatiquement.



Pour tester la possibilité d'acces (ou une erreur de fichier, comme en
HF Classique), sinon c'est la premiere lecture qui plante, comme il a
pu le remarquer... C'est plus simple de faire ca juste apres la
connexion, car on peut tres bien se connecter a un serveur et ne pas
avoir acces a une table ou une base, si ce fichier est abimé par
exemple...

C'est ce HOuvre (ou HCreation) qui validera la location réelle du
fichier apres un HChangeConnexion... car je suppose que son analyse a
été créé en HF Classique... comme la plupart des gens qui migrent ou
tentent la migration...

J'ai parlé du HCréationSiInexistant() car c'est ce que j'utilisais sur
HF classique (a l'époque ou je travaillais encore avec) pour
initialiser
d'eventuelles nouvelles tables entre 2 versions...

--
Contact : http://tanguy.ath.cx
Avatar
Gilles
Après mûre réflexion, Tanguy a écrit :
Tanguy a écrit :
Eric a formulé la demande :
Bonjour,

Depuis une application possédant sa propre analyse, je suis amené à me
connecter à une base HF client/serveur distante gérée par une autre
application.
La connexion se passe bien mais, chaque fois que j'essaie de lire une
table de cette base distante, je reçois un message d'erreur (code 70208)
me disant que la table que j'essaye de lire n'existe pas, ce qui est
bien entendu faux.
L'accès à la base distante avec le centre de contrôle HF ne pose, lui,
aucun problème.

Si j'importe la description de l'analyse distante, le problème disparaît
mais ça n'est pas satisfaisant. Comme c'est ma première incursion dans
HFCS, je me dis que je dois louper quelque chose, mais quoi ?



Bonjour,

Tu ne peux pas utiliser d'ordre H sans avoir expliqué à l'analyse d'où
viennent tes données.

Hdeclare* est une piste pour toi...



En fait tes fichiers ne doivent pas etre ouverts... pour vérifier leur
présence, il faut faire un HOuvre() lors de la connexion...



Depuis quand faut-il ouvrir des fichiers pour procéder à la lecture?
Windev l'a toujours fait automatiquement.



Pour tester la possibilité d'acces (ou une erreur de fichier, comme en HF
Classique), sinon c'est la premiere lecture qui plante, comme il a pu le
remarquer... C'est plus simple de faire ca juste apres la connexion, car on
peut tres bien se connecter a un serveur et ne pas avoir acces a une table ou
une base, si ce fichier est abimé par exemple...

C'est ce HOuvre (ou HCreation) qui validera la location réelle du fichier
apres un HChangeConnexion... car je suppose que son analyse a été créé en HF
Classique... comme la plupart des gens qui migrent ou tentent la migration...



Tu n'as pas bien lu la problématique.

Eric explique bien que les données appartiennent à une autre
application et qu'elles ne sont pas dans l'analyse, il n'y a aucune
ambiguité à ce sujet. Tu peux tester autant que tu veux hOuvre, la
table n'étant pas dans l'analyse, ça ne marchera jamais.
Il indique bien que s'il importe la description de table, ca
fonctionne.

En ce qui me concerne c'est juste un souci de hDeclare****

Il suffit de déclarer la table comme externe et tout fonctionnera sans
soucis.
Avatar
Tanguy
n'as pas bien lu la problématique.

Eric explique bien que les données appartiennent à une autre application et
qu'elles ne sont pas dans l'analyse, il n'y a aucune ambiguité à ce sujet. Tu
peux tester autant que tu veux hOuvre, la table n'étant pas dans l'analyse,
ça ne marchera jamais.
Il indique bien que s'il importe la description de table, ca fonctionne.

En ce qui me concerne c'est juste un souci



A oui en effet, désolé... j'avais en effet loupé le "gérée par une
autre application."

--
Contact : http://tanguy.ath.cx
Avatar
Eric
Le 23 mars 2010 à 21:10, dans
<news:4ba9204a$0$22032$, Gilles nous disait :

Eric explique bien que les données appartiennent à une autre
application et qu'elles ne sont pas dans l'analyse, il n'y a aucune
ambiguité à ce sujet. Tu peux tester autant que tu veux hOuvre, la
table n'étant pas dans l'analyse, ça ne marchera jamais.
Il indique bien que s'il importe la description de table, ca
fonctionne.

En ce qui me concerne c'est juste un souci de hDeclare****

Il suffit de déclarer la table comme externe et tout fonctionnera sans
soucis.



J'avais fini par en arriver là mais ça coinçait aussi.
En fait, le problème venait de ce que dans le HDeclareExterne, il
fallait préciser l'extension .fic du fichier distant. Soit :

MonFichier est une source de données
HDeclareExterne("MonFichier.fic","MonFichier",MaConnexion)
HChangeConnexion(MonFichier,MaConnexion)

Merci à toi et à Tanguy.

--
Eric