|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 1 ![]() |
Bonjour,
alors j'explique mon problème. J'ai une procédure sur un serveur batch qui est appelé. Cette procédure vise à créer un fichier XML. Une autre procédure est appelé derrière. Cette dernière doit lire le fichier XML, et le transcrire en un fichier Excel. Tout cela marche plus ou moins bien. Néanmoins, quand le fichier XML généré contient trop de lignes (le fichier contient un ensemble de données extraites de la base), le fichier met trop de temps à s'ecrire, et donc ma fonction qui doit transformer le fichier XML en Excel merde un peu ... si ce n'est beaucoup. Donc dans un premier temps, j'avais voulu effectuer un test. Je m'étais dis qu'en faisant une boucle qui fait Lire le fichier XML en mode lecture. Si utl_file.invalid_path alors sleep de 2 sec et on refait un tour de la boucle. etc ... une fois qu'on a réussi à lire dans le fichier, je pensais que le fichier avait fini d'être ecrit. Et donc que je pouvais executer ma fonction qui transcrit en Excel. Mais visiblement ce n'est pas le cas Le utl_file.invalid_path ne semble être executé que si le fichier XML lui même ne semble pas être créer. Une fois créer, on y a visiblement accès, et donc mon algo ne marche pas. J'aimerais donc savoir si il y a une fonction ou un moyen en PL/SQL de vérifier que le fichier n'est plus accéder par personne (ce qui signifierais donc pour moi que le fichier a fini d'être ecrit, et donc que je puisse appeler ma fonction traduisant en Excel). J'ai beau chercher, je n'arrive pas à trouver Voila. Merci d'avance de votre aide. Cordialement. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
bonjour,
Personnellement je ne connais pas cette fonction, mais tu pourrais peut être ouvrir le fichier en écriture quand tu voudras le lire pour la transcription en excel. Si cela fonctionne alors l'écriture est terminée, sinon ton programme est en train d'écrire dessus... |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com