Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous!!!,
Voila plusieurs jours que je n'arrive pas à résoudre un problème de mon application.
Une petit contexte :
J'ai deux fichiers CSV séparés par des ";" et sans en-entête. Ces deux fichiers vont remplir chacune une table de postgresSql :
La table Commande : et la table Produit:
id_commande SERIAL id_Produit SERIAL
Collaborateur_Nom varchar(50) id_Commande INTEGER NOT NULL => qui pointe vers une commande de la table Commande avec une contrainte de clé étrangère.
Collaborateur_Prenom Varchar(50) Produit_nom varchar(50)
..... Quantite ....
J'utilise la commande COPY de postgres pour insérer ces deux fichiers (Le fichier de commande en premier bien sûr).
Voici mes deux requêtes :
COPY t_commande( Collaborateur_Nom,
Collaborateur_Prenom,
...)
FROM E'[em]nom_fichier[/em]' DELIMITER ';' NULL as '' CSV QUOTE as '|'
et
COPY t_produit( id_Commande,
Produit_nom,
...)
FROM E'[em]nom_fichier[/em]' DELIMITER ';' NULL as '' CSV QUOTE as '|'
La première requête s'effectue sans problème. Par contre la requête des produits se plante dans mon programme en VB.NET Framework 2.0 avec la ddl npgsql pour dialoguer avec ma base PostGres.
Si je lance la requête des produits dans PgAdmin, celle-ci s'effectue sans erreur!!!
Alors pourquoi au niveau de application la requête plante avec le message d'erreur suivant :
ERREUR: 22P04: données supplémentaires après la dernière colonne attendue.
Je reste à votre disposition si vous avez besoin de plus d'explication.
Merci à vous pour vos réponses.
Dernière modification par Antonin (16/11/2012 16:47:19)
Hors ligne
La requête ne doit pas être exactement identique. À priori, PostgreSQL voit des colonnes supplémentaires dans le fichier fourni via votre application en VB.NET.
Guillaume.
Hors ligne
Bonjour Guillaume,
Pourquoi en prenant le même fichier et la même requête (récupéré en debug) que je lance dans PgAdmin. La requête fonctionne sans erreur?? Et avec mon application elle marche pas.
Je sais pas si c'est à voir mais j'utilise les transactions dans mon application. Et pas dans pgAdmin.
Cordialement.
Dernière modification par Antonin (16/11/2012 13:11:04)
Hors ligne
L'erreur reportée n'a pas l'air de concerner les transactions. Êtes-vous vraiment sûr à 100% qu'il s'agisse la même requête ?
Guillaume.
Hors ligne
C'est bon je pense avoir trouvé l'erreur :
Mon Setup installait la mauvaise version de la ma dll.
Merci à toi gleu car c'est en voulant récupérer la requête utilisé dans mon application dans un log que j'ai pu remarquer la mauvaise version de la dll. Et donc oui du coup ce n'était pas la même requête.
Cordialement.
PS : Comment mettre ce topic en Résolu?
C'est bon je me suis débrouillé.
Dernière modification par Antonin (16/11/2012 16:47:45)
Hors ligne
Pages : 1