Bonjour!
j'ai un petit problème de copie d'un fichier dans une table avec la commande COPY de Postgres :
En fait j'ai un programme Java dans lequel j'écris :
monstatement.executeUpdate("copy matable from 'monchemin'")
Sauf que Postgres n'est pas d'accord et me dit :
1 2
| ERREUR: doit être superutilisateur pour utiliser COPY à partir ou vers un fichier
HINT: Tout le monde peut utiliser COPY vers stdout ou partir de stdin.La commande \copy de psql fonctionne aussi pour tout le monde. |
Comme je n'ai pas très envie que l'utilisateur de mon appli aie les pouvoirs d'un superutilisateur, je remplace mon code java par :
monstatement.executeUpdate("\copy matable from 'monchemin'")
Evidemment ça ne compile même pas, puisque Java me dit que sur "\c" il y a un :
Il faut donc que je protège mon "\". Je continue avec :
monstatement.executeUpdate("\\copy matable from 'monchemin'")
Mais là, à l'exécution j'ai l'erreur :
org.postgresql.util.PSQLException: ERROR: syntax error at or near "\"
Et rajouter des "\" n'y change rien : soit ça compile pas, soit j'ai cette erreur qui m'empêche donc totalement d'utilisater copy.
Je précise qu'écrire la commande "\copy matable from 'monchemin'" à la main dans psql marche très bien.
Est-ce que quelqu'un aurait par hasard eu le même souci que moi et serait arrivé à s'en sortir ? Ou bien si quelqu'un a une idée sur quoi faire, ça me dit bien aussi ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
Merci d'avance!
Partager