IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

copier une photo d'un repertoire vers un autre


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut copier une photo d'un repertoire vers un autre
    Bonjour,
    Je veux creer une procedure qui me permet de copier une photo existante dans un repertoire distant vers un autre repertoire ( distant aussi )
    j'ai consulté la faq , j'ai essayé d'executer cela ( teste sur un dossier local )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create or replace procedure test ( id_p varchar2)
    is
    begin 
    UTL_FILE.FCOPY ('C:\Documents and Settings\Flam\Bureau\z docs','tmp.jpg','C:\Documents and Settings\Flam\Bureau\z docs','tmp2.jpg',1,'') ;
    end;
    l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00201: l'identificateur 'UTL_FILE' doit Ûtre dÚclarÚ
    que dois faire ? sinon est ce qu'il y a une autre alternative ?
    PS: je suis sur Oracle 10g version express

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Votre user n'a probablement pas le droit EXECUTE sur le package UTL_FILE. Je crois que celui-ci appartient à SYS. Vous devriez donc vous connecter SYS et donner le grant EXECUTE à votre user sur ce package.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant EXECUTE to the_user on UTL_FILE;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    si si , l'utilisateur a tous les droits
    lorsque j'ai tapé la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> GRANT EXECUTE TO unicampusflam ON UTL_FILE;
    GRANT EXECUTE TO utilisateur ON UTL_FILE
                  *
    ERREUR Ó la ligne 1 :
    ORA-00969: mot-clÚ ON absent
    j'ai rectifié la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> GRANT EXECUTE  ON UTL_FILE to utilisateur;
    GRANT EXECUTE  ON UTL_FILE to utilisateur
                      *
    ERREUR Ó la ligne 1 :
    ORA-00942: Table ou vue inexistante
    dois je creer le package UTL_FILE ou faire quoi?

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    UTL_FILE appartient a l'utilisateur SYS. Assurez vous que vous êtes bien connecté SYS pour donner les droits à votre utilisateur. Si l'utilisateur SYS ne voit pas le package UTL_FILE, il vous faudra executer le script utlfile.sql.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> GRANT EXECUTE ON UTL_FILE to utilisateur ;
    GRANT EXECUTE ON UTL_FILE to utilisateur
                     *
    ERREUR Ó la ligne 1 :
    ORA-00942: Table ou vue inexistante
    comment executer et executer utlfile.sql ?
    Question : la fonction pourra bien copier la photo d'un repertoire distant vers un autre ?? ou dois je chercher dans un autre sens..

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Vous ne répondez pas à la question. Etes-vous bien connecté avec l'utilisateur SYS pour donner les droits ?
    connectez-vous SYS ou SYSTEM et faites une recherche dans la vue DBA_OBJECT (object_name = 'UTL_FILE')

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    je suis toujours sur SYSTEM ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> select object_name from DBA_OBJECT where object_name='UTL_FILE';
    select object_name from DBA_OBJECT where object_name='UTL_FILE'
                            *
    ERREUR Ó la ligne 1 :
    ORA-00942: Table ou vue inexistante

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Pardon, il s'agit de DBA_OBJECTS

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    oui , UTL_FILE existe bien ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> select object_name from DBA_OBJECTS where object_name='UTL_FILE';
     
    OBJECT_NAME
    -------------------------------------------------------------------------------
     
    UTL_FILE
    UTL_FILE
    UTL_FILE
    j'ai pas besoin donc d'executer le script ?
    qu'est ce que je dois faire aprés ?

  10. #10
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Faites select * sur cette vue afin de voir qui est le owner. Ensuite, connectez-vous avec ce owner et effectuez le grant pour votre utilisateur.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    le owner c'est sys ( 2 lignes) et public
    cela pourrait etre l'origine des problemes ? le faite que "sys" existe 2 fois..
    Images attachées Images attachées  

  12. #12
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    lorsque j'ai fait cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT EXECUTE ON UTL_FILE TO utilisateur ;
    voila l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00942: Table ou vue inexistante

  13. #13
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Il y a une ligne pour les spec et une autre pour le body. Pouvez-vous vous connecter sur le owner SYS ?

  14. #14
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    je suis toujours et dés le debut connecté en SYSTEM
    si cela pourra vs aider je suis sur oracle 10g version express

  15. #15
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Sinon, accordez le droit à public:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant execute on utl_file to public;

  16. #16
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Je ne sais plus comment vous expliquer les choses. UTL_FILE appartient à SYS, pas à SYSTEM, donc déconnectez-vous de SYSTEM et connectez vous SYS

  17. #17
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> GRANT execute ON utl_file TO public;
    GRANT execute ON utl_file TO public
                     *
    ERREUR Ó la ligne 1 :
    ORA-00942: Table ou vue inexistante
    mais vraiment ...
    qu'est ce que je dois faire aprés ? on dirait qu'il ne voit pas le package..

  18. #18
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    dans ma base, lorsque je visualise les differents utilisateurs , sys n'y est pas

  19. #19
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    ca y est je ss en SYS as SYSDBA , c'est bon ?
    le grant a passé pour "utilisateur" ;
    maintenant je ss conenctée en tant que "utilisateur"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> create or replace procedure test ( id_p varchar2)
      2  is
      3  begin
      4  UTL_FILE.FCOPY ('C:\Documents and Settings\F\Bureau\z docs','tmp.tx
    t','C:\Documents and Settings\F\Bureau\z docs','tmp2.txt',1,'') ;
      5  end;
      6
      7  /
    les erreurs comme toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL> exec test('11');
    BEGIN test('11'); END;
     
    *
    ERREUR Ó la ligne 1 :
    ORA-29280: chemin de rÚpertoire non valide
    ORA-06512: Ó "SYS.UTL_FILE", ligne 262
    ORA-06512: Ó "SYS.UTL_FILE", ligne 1139
    ORA-06512: Ó "UM.TEST", ligne 4
    ORA-06512: Ó ligne 1

  20. #20
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Relisez la doc de UTL_FILE.FCOPY(). Il s'agit d'indiquer des Directories Oracle, pas des chemins physiques.
    http://sheikyerbouti.developpez.com/pl_sql/?page=Chap8

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/12/2013, 15h59
  2. Comment copier une image d'un Axes vers un autre Axes
    Par miss_angel dans le forum Images
    Réponses: 1
    Dernier message: 14/02/2008, 12h56
  3. Copier une liste d'un site vers un autre
    Par LefortLudovic dans le forum SharePoint
    Réponses: 4
    Dernier message: 06/09/2007, 14h52
  4. copier une base d'un serveur vers un autre
    Par julien.63 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/03/2007, 14h18
  5. Réponses: 1
    Dernier message: 21/01/2006, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo