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

PostgreSQL Discussion :

COPY FROM NETWORK RESOURCE


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut COPY FROM NETWORK RESOURCE
    Bonjour,
    utilisant
    Windows Server 2012 R2
    Postgresql 9.5 Beta
    J'essaie d'importer des données dans plusieurs tables depuis des fichiers CSV sur un autre serveur.
    J'ai un fichier BAT qui lance psql avec un fichier de commandes contenant une serie d'instructions de type \i nomdefichier.sql.

    Ce syntaxe fonctionne correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Copy matable  from '\\Serveur9\Donnees\mesdonnees.txt'
      WITH CSV 
         DELIMITER E'\t' 
         QUOTE AS '"'
         NULL AS '' ;
    Mais je dois écrire le chemin en dur dans chacun de mes scripts SQL.

    Et je voudrai éviter cela, puisque, l'année prochaine,
    je sais que je vais changer le serveur qui héberge les données CSV ,
    (et que pendant un certain temps le serveur actuel et le nouveau serveur vont cohabiter,).
    Je me suis dit qu'il serait plus facile pour moi de créer un network ressource,
    et le moment venu de switcher les serveurs,
    je n'aurais plus que redéfinir ce ressource.

    Je fais donc en ligne de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Net use S: \\Serveur9\Donnees /persistent:yes
    et j'ai un nouveau disque S: qui pointe vers la source de mes données CSV.
    Parfait.
    Mais le syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Copy matable  from 'S:\mesdonnees.txt'
      WITH CSV 
         DELIMITER E'\t' 
         QUOTE AS '"'
         NULL AS '' ;
    ne fonctionne pas.
    Voici le message d'erreur :
    psql:C:/pgstuff/imprt_1.sql:97: ERREUR: n'a pas pu ouvrir le fichier « S:\mesdonnees.txt » pour une lecture : No such file or directory
    Mes questions :
    Est-ce que ce fonctionnement est normal ? ( "By design" ?) dans la logique de l'interdiction des chemins relatifs avec COPY ? (Est-ce que un "disque réseau" est réellement relatif ?)
    Ou est-ce que j'ai une faute syntaxe dans le style "escaped backslashes" ?
    Ou est-ce que c'est un bug du 9.5 Beta ?
    Ou encore autre chose ?

    Merci d'avance,
    Jason

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Vérifiez les droits d'accès à S:\
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Les droits sont identiques
    Les droits seront identiques dans le deux cas puisque
    1. S: est la même ressource que \\Serveur9\Donnees et
    2. l'utilisateur est le même.
    A moins qu'il y ait une subtilité que je n'ai pas encore compris.

    Le syntaxe "URL" fonctionne, comme je l'ai indiqué dans mon post.
    (Si c'était un problème de droits, ce syntaxe ne fonctionnerait pas.)
    Le syntaxe "network ressource" ne fonctionne apparemment pas.

    Ma question reste posée.

    Jason

  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Jason Chambers Voir le message
    Les droits seront identiques dans le deux cas puisque
    1. S: est la même ressource que \\Serveur9\Donnees et
    Je dirais plutôt "S: est une ressource pointant sur la ressource \\Serveur9\Donnees". Donc ils n'ont pas forcement les même attributs ni même les même valeurs.
    Citation Envoyé par Jason Chambers Voir le message
    2. l'utilisateur est le même.
    Pas forcement!
    psql peut lancer la commande \copy, dans ce cas, psq accède à S: avec les droits de celui qui lance le batch.
    Mais si psql lance l'instruction copy, alors c'est le compte de postgresql qui accède à S:
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Ah !
    Ah !
    et Hmmm !

    je vais creuser de ce coté là.
    Merci !

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/05/2009, 21h43
  2. copy from serveur to the local machin
    Par dajij dans le forum C++
    Réponses: 6
    Dernier message: 02/10/2008, 21h42
  3. COPY FROM selectif
    Par nadine.mauch dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 14/12/2007, 20h40
  4. Commande COPY FROM
    Par jan0 dans le forum Administration
    Réponses: 11
    Dernier message: 22/12/2006, 15h44
  5. [pgadminIII] copy from
    Par funkadelic dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/06/2005, 20h39

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