1. #1
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut Erreur de syntaxe sur ou près de "1"

    Bonjour,

    J'ai cette commande pour remplir les tables créées avec des données géographiques (pour l'exemple j'ai simplifié la 1ère ligne beaucoup trop longue sinon) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    COPY elus (gid, geom, id_1, nom, numero, elus_qualite, elus_nom, elus_prenom, elus_canton, elus_etiq_pol, elus_email, elus_groupe_pol, elus_photo, geometrie) FROM stdin;
    1	0106000020E61000000100000001030000000100000067140000BF10F0B74278F7BF96ECD6E15EBC4	23	xxxxx	13	Madame	XXXXX	Fabienne	nom canon 	fabienne.xxxx@xxxx.fr	INDEPENDANT	xxxxx_f.jpeg	MULTIPOLYGON(((-1.46686050272642 43.4716455745158,-1.46674036554132 43.4719623180406)))
    J'ai comme indiqué mis l'intégralité du code dans un fichier sql et l'ai exécuté avec psql mais j'ai une erreur :

    ERREUR: erreur de syntaxe sur ou près de "1"
    LINE1: 1 0106000020E610000001000000010300000001000000671400....

    J'ai aussi essayé d'exécuter dans l'éditeur sql de PgAdmin en modifiant le code avec un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO (gid, nom...) VALUES (1	0106000020E61000000100000001030000000100000067140000BF10F0B74278F7BF96ECD6E15EBC4	23	xxxxx	13	Madame	XXXXX	Fabienne	nom canon 	fabienne.xxxx@xxxx.fr	INDEPENDANT	xxxxx_f.jpeg	MULTIPOLYGON(((-1.46686050272642 43.4716455745158,-1.46674036554132 43.4719623180406)));
    sans plus de succès.
    Auriez-vous un idée svp ?
    Merci par avance.

  2. #2
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 984
    Points : 41 996
    Points
    41 996

    Par défaut

    Il manque toutes les virgules séparant les éléments de la liste d'insertion...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut

    Bonjour et merci pour cette réponse.
    J'y ai pensé ce matin avant de vous lire et ai modifié le fichier en conséquence en ne conservant que 2 lignes de celui-ci pour tester.
    Malheureusement, cela ne fonctionne pas, j'ai toujours une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    NOTICE:  l'identifiant "bf10f0b74278f7bf96ec......"
    État SQL :42601
    Caractère : 231
    Le caractère 231 précisé dans l'erreur correspond visiblement à la virgule entre le champ "geom" et le champ "id_1".

  4. #4
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 984
    Points : 41 996
    Points
    41 996

    Par défaut

    Les littéraux doivent être entourés d'apostrophes...

    Un petit cours sur le SQL ce serait pas du luxe !!!
    http://sqlpro.developpez.com/cours/sqlaz/dml/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut

    Merci pour ce rappel.
    Ce qui m'étonne cependant, c'est que cette "structure" de fichier est générée par un export dans un fichier sql depuis Pgadmin.
    Je m'attendais, naïvement visiblement, à ce que le fichier soit écrit de la bonne manière avec la bonne syntaxe.
    Je me trompe ?
    Merci de votre aide en tout cas.
    Cordialement.

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 752
    Points : 22 272
    Points
    22 272

    Par défaut

    Bonjour,

    C'est parce qu'un COPY ne se joue pas depuis PgAdmin.
    Pour cela, passez plutôt par psql pour rejouer le fichier généré.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut

    J'ai tenté ceci en psql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    psql -h NomduServer - p NumeroduPort -U login NomdemaBasedeDepart -c 'COPY public.MaTable TO STDOUT' | psql NomdemaBasedeDestination -c 'COPY MonNouveauSchema.MaTable FROM STDIN'
    qui m'a produit une également erreur que je ne sais pas interpréter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    psql: warning: extra command-line argument "COPY" ignored
    psql: warning: extra command-line argument " MonSchema.MaTable" ignored
    psql: warning: extra command-line argument "FROM" ignored
    psql: warning: extra command-line argument "STDIN" ignored
    psql: warning: extra command-line argument "NomduServeur" ignored
    psql: warning: extra command-line argument "-p" ignored
    psql: warning: extra command-line argument "NumeroduPort " ignored
    psql: warning: extra command-line argument "-U" ignored
    psql: warning: extra command-line argument "login" ignored
    psql: warning: extra command-line argument "-c" ignored
    psql: warning: extra command-line argument "public.MaTable" ignored
    psql: warning: extra command-line argument "TO" ignored
    psql: warning: extra command-line argument "STDOUT" ignored
    psql: could not connect to server: Connection refused
    Is the server running on host "localhost" and accepting TCP/IP connections on port 5432 ?

  8. #8
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 752
    Points : 22 272
    Points
    22 272

    Par défaut

    Ce que je voulais dire, c'est que c'est votre fichier d'instructions qu'il faut exécuter, pas chaque ligne du fichier à la mimine...
    C'est donc l'option -f de psql qu'il faut utiliser.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut

    Est-ce cette syntaxe qu'il faut utiliser ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    psql --file [mon_fichier.sql] [nom_de_la_base]
    Puis-je en plus spécifier le schéma de destination ?

  10. #10
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 752
    Points : 22 272
    Points
    22 272

    Par défaut

    Oui, c'est ça.
    Mais non, on ne peut pas spécifier le schéma de destination. C'est forcément le même que celui issu de la sauvegarde.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Géomaticien
    Inscrit en
    décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Service public

    Informations forums :
    Inscription : décembre 2014
    Messages : 13
    Points : 6
    Points
    6

    Par défaut

    Merci pour vos éclaircissements et votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERREUR: erreur de syntaxe sur ou près de « \ »
    Par Arendelle dans le forum Outils
    Réponses: 2
    Dernier message: 12/10/2016, 14h14
  2. Erreur de syntaxe sur ou près de « User »
    Par michel.di dans le forum JPA
    Réponses: 4
    Dernier message: 17/12/2012, 14h04
  3. Erreur de syntaxe sur la création d'une vue.
    Par cgougeon dans le forum Installation
    Réponses: 3
    Dernier message: 09/09/2005, 11h00

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