[WD14] Acces base HFSQL - Erreur 70037
Stagiaire WDF
Inscrit:
14/10/2009 17:15
Post(s): 3
Bonjour à tous !

J'ai créé une application en deux parties : Une partie client et une partie serveur.
La partie client écrit des messages dans une table <Impression> d'une base HFSQL et la partie serveur boucle pour vérifier si des messages on été écrits dans la table puis les traite le cas échéant.
L'application fonctionnait très bien jusqu'à ce que je décide de faire de la partie client un composant interne.
Ce composant interne partage l'analyse de l'application qui le reçoit, et ne connait donc plus le fichier <IMPRESSION> que je déclare de la manière suivante :
PROCEDURE PRIVÉE PR_DeclareExterne()
sUneListe est une chaîne
sFichier est une chaîne
sUnAlias est une chaîne
nIndice est un entier=1

// Recherche de toutes les tables sur la connexion gcnxConnexionBD
sUneListe=HListeFichier(gcnxConnexionBD, hLstTout)
// Extraction de la première table
sFichier=ExtraitChaîne(sUneListe,nIndice, RC)

// Parcours des tables une à une jusqu'à la dernière
TANTQUE sFichier<>EOT
	// sUnAlias contient le nom logique de la table
	sUnAlias=ExtraitChaîne(sFichier,1, ".FIC")
	// Déclaration externe de la table en cours
	HDéclareExterne("C:\Program Files\PC SOFT\Serveur HF\BDD\Impression\" +sFichier, "DISTANT_"+sUnAlias)
	// Passage à la table suivante
	nIndice++
	sFichier=ExtraitChaîne(sUneListe,nIndice, RC)
FIN


La déclaration se déroule correctement et je retrouve mes fichiers en les listant comme suit :
HListeFichier(hLstTout)


Puis écrit dans cette table de la manière suivante :
EXTERNE Distant_Impression
Distant_Impression.appelant=NetAdresseIP()
Distant_Impression.Date=DateSys()
Distant_Impression.Heure=HeureSys()
Distant_Impression.Fichier=SAI_Message_a_envoyer
Distant_Impression.Traite=Faux
HAjoute(Distant_Impression)


Je lance la partie serveur de l'application puis le client en mode test et obtiens à ce moment là l'erreur suivante :
Citation :
Le fichier <DISTANT_Impression> n'a pas été ouvert avec des droits en écriture. Impossible d'effectuer l'opération.


J'ajoute donc poliment ceci avant d'effectuer l'ajout dans la table :
HOuvre(Distant_Impression, hOLectureEcriture)


Et j'obtiens l'erreur système suivante :
Citation :
Impossible d'ouvrir le fichier <C:\Program Files\PC SOFT\Serveur HF\BDD\Impression\Impression.FIC>. Détail de l'erreur système : Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus. (32)


Très bien. Je décide quand même de tester le client en fermant toutes les applications qui pourraient utiliser cette table, il fonctionne en lecture et écriture. Il ne fonctionne en écriture que s'il est le seul à utiliser cette table. Avoir le centre de contrôle HFSQL lancé pendant l'exécution en bloque l'accès en écriture à partir du composant interne client.

J'ai tous les droits sur cette base et cette table.

En quoi le fait d'accéder à une table déclarée externe est-il différent de l'accès à une table contenue dans l'analyse en cours ?
Est-ce que quelqu'un a une idée pour résoudre ce problème ?

Merci d'avance

Contribution le : 03/12/2009 12:28

Edité par drcharly93 sur 3/12/2009 22:09:43
Créer un fichier PDF de la contribution Imprimer


Re: [WD14] Acces base HFSQL - Erreur 70037
Stagiaire WDF
Inscrit:
14/10/2009 17:15
Post(s): 3
Eureka !

Je n'avais pas assigné la connexion que j'avais déclaré à ma table déclarée externe :

DISTANT_Impression..Connexion=gcnxConnexionBD

Maintenant ça marche. Merci à tous

Contribution le : 03/12/2009 15:04
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2