Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Bases de données > Oracle > Outils > Forms

Forms Forum d'entraide sur Oracle Forms

Réponse
 
Outils de la discussion
Vieux 01/12/2008, 12h41   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2008
Messages: 51
Par défaut Transfert fichier du client au serveur

Bonjour,
Je souhaite faire un transfert d'un fichier texte du poste client au serveur, mais je n'arrive pas, j'ai essayé plusieurs chose copy_file
webutil_file_tranfer.client_to_as_with_progress, mais je n'ariive pas.
Est ce que vous pouvez me dire comment peut on faire ceci,
Merci
hichcasa est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 13h29   #2 (permalink)
Rédacteur/Modérateur

 
Avatar de SheikYerbouti
 
Date d'inscription: mai 2003
Messages: 5 184
Par défaut

Et si vous nous montriez ce que vous avez fait ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 13h51   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2008
Messages: 51
Par défaut

Concernant le transfert du poste client vers le serveur, j'ai fait comme ça, bien sùr j'ai déclaré toutes les variables, j'ai mis ici que LC$filtre


Code :
LC$Filtre		Varchar2(100) := '|Tous fichiers|*.*|' ;
	
	FicAServ := '\\'||:Bloc5.SERVEUR\'||'nomfichier.txt';
   
	LC$Path := 'C:\Temp' ;
  
	FicCli := WEBUTIL_FILE.FILE_SAVE_DIALOG (LC$Path,	NomFichier,	LC$Filtre, 'Enregistrer sous ...') ;
	synchronize;
 
--  Transfert du fichier 
  LB$Ok := WEBUTIL_FILE_TRANSFER.CLIENT_TO_AS_WITH_PROGRESS (FicAServ, FicCli, 'Transfert du fichier vers le serveur ...',FicAServ) ;
Citation:
Envoyé par SheikYerbouti Voir le message
Et si vous nous montriez ce que vous avez fait ?
Concernant la deuxième avec copy file, j'ai mis, ceci,

Code :
BEGIN
		SELECT HOST_NAME 
		INTO nom_serveur
		FROM SYS.V_$INSTANCE;
	Exception When others then
		NULL;
	END;
:bloc5.serveur	:= '\\'||nom_server||'\'||'DOCWEB\';
						Val_rer	:= WEBUTIL_FILE.COPY_FILE(:bloc2.chemin,:bloc5.serveur||'fichier.txt');
hichcasa est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 14h00   #4 (permalink)
Rédacteur/Modérateur

 
Avatar de SheikYerbouti
 
Date d'inscription: mai 2003
Messages: 5 184
Par défaut

Code :
FicAServ := '\\'||:Bloc5.SERVEUR\'||'nomfichier.txt';
Peut-être à cause de ceci. Avez-vous essayé avec un chemin présent sur le serveur même ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 14h20   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2008
Messages: 51
Par défaut

Non, je ne sais j ai essayé de mettre en dur l'adresse du serveur avec un chemin où je veux déposer le fichier mais ça ne marche pas, Sinon existe -t-il un moyen pour ouvrir directement le fichier qui est sur le poste client avec un fopen et de le lire et de réaliser avec ce que je souhaite faire, pour info, ce fichie txt avec séparateur ';' je me base dessus pour faire des update et insert dans une table, est ce que vous pouvez m'aider sur une méthode merci

Citation:
Envoyé par SheikYerbouti Voir le message
Code :
FicAServ := '\\'||:Bloc5.SERVEUR\'||'nomfichier.txt';
Peut-être à cause de ceci. Avez-vous essayé avec un chemin présent sur le serveur même ?
hichcasa est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 14h53   #6 (permalink)
Rédacteur/Modérateur

 
Avatar de SheikYerbouti
 
Date d'inscription: mai 2003
Messages: 5 184
Par défaut

Vous pouvez ouvrir un fichier sur le poste client avec les fonctions Webutil CLIENT_TEXT_IO. La syntaxe est exactement la même qu'avec l'équivalent TEXT_IO

Code :
Declare
  file  CLIENT_TEXT_IO%Type ;
  LC$String  Varchar2(32000);
Begin
  -- ouverture du fichier --
  file := CLIENT_TEXT_IO.Fopen ( 'c:\essai.txt', 'R', 32000 ) ;
  IF CLIENT_TEXT_IO.IsOpen( file ) Then
    -- lecture --
    Begin
     Loop
     LC$String := CLIENT_TEXT_IO.Get_Line( file ) ;
      ...
     End loop;
    Exception
      When no_data_found Then
         CLIENT_TEXT_IO.Fclose( file ) ;
     End;
   End IF ;
End;
(de mémoire, consultez la doc...)
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 14h57   #7 (permalink)
Rédacteur/Modérateur

 
Avatar de SheikYerbouti
 
Date d'inscription: mai 2003
Messages: 5 184
Par défaut

Citation:
Envoyé par hichcasa Voir le message
Non, je ne sais j ai essayé de mettre en dur l'adresse du serveur avec un chemin où je veux déposer le fichier mais ça ne marche pas
Je ne suis pas sur de bien comprendre. Le fichier se trouve t-il bien sur le serveur d'application ? (celui ou tourne le Forms runtime)
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 15h30   #8 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2008
Messages: 51
Par défaut

Non le fichier est sur le poste client, soit je l'ouvre à partir du poste client, et je le traite. Soit je le transfert vers le serveur où tourne forms et de le traiter .
Citation:
Envoyé par SheikYerbouti Voir le message
Je ne suis pas sur de bien comprendre. Le fichier se trouve t-il bien sur le serveur d'application ? (celui ou tourne le Forms runtime)
hichcasa est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 16h09   #9 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2008
Messages: 51
Par défaut

Merci,
J'ai refait avec le tranfert et ça a marché, en fait j'avai un problème dans le fichier properties, merci encore
Citation:
Envoyé par SheikYerbouti Voir le message
Vous pouvez ouvrir un fichier sur le poste client avec les fonctions Webutil CLIENT_TEXT_IO. La syntaxe est exactement la même qu'avec l'équivalent TEXT_IO

Code :
Declare
  file  CLIENT_TEXT_IO%Type ;
  LC$String  Varchar2(32000);
Begin
  -- ouverture du fichier --
  file := CLIENT_TEXT_IO.Fopen ( 'c:\essai.txt', 'R', 32000 ) ;
  IF CLIENT_TEXT_IO.IsOpen( file ) Then
    -- lecture --
    Begin
     Loop
     LC$String := CLIENT_TEXT_IO.Get_Line( file ) ;
      ...
     End loop;
    Exception
      When no_data_found Then
         CLIENT_TEXT_IO.Fclose( file ) ;
     End;
   End IF ;
End;
(de mémoire, consultez la doc...)
hichcasa est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ORACLEF.A.Q ORACLETUTORIELS ORACLETUTORIELS SQLSCRIPTS SQLLIVRES ORACLEQUIZBLOG ORACLE

Réponse

Précédent   Forum des développeurs > Bases de données > Oracle > Outils > Forms



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide