Maven CSV-Datei mit Maven einlesen schlägt fehl

Spitfire777

Bekanntes Mitglied
Hi,

ich muss/möchte für ein Semesterprojekt mit Maven eine CSV-Datei in eine PostgreSQL-Datenbank einlesen. Jedoch schlägt das mit diesem Fehler fehl:

Code:
[INFO] --- sql-maven-plugin:1.5:execute (load) @ shop ---
[INFO] Executing commands
[INFO] Executing file: /tmp/load-csv.245763405sql
[ERROR] Failed to execute:  
 COPY lieferant
 FROM '/home/michael/eclipse-git-repository/swa01/shop/src/test/resources/postgresql/Lieferant.csv'
 WITH (
 DELIMITER ';',
 FORMAT csv,
 HEADER
 )
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.632s
[INFO] Finished at: Thu Mar 29 15:01:53 CEST 2012
[INFO] Final Memory: 14M/149M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sql-maven-plugin:1.5:execute (load) on project shop: ERROR: could not open file "/home/michael/eclipse-git-repository/swa01/shop/src/test/resources/postgresql/Lieferant.csv" for reading: Keine Berechtigung -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException


Hier die CSV-Datei.
src/test/resources/postgresql/Lieferant.csv

Code:
id;name;ort;strasse;email;aktualisiert;erzeugt
1;Mitch;Neustadt;Musterstraße 1;test@test.de;29.03.12;29.03.12

Und hier dazu die Dateirechte:
Code:
michael@michael-K53SV:~/eclipse-git-repository/swa01/shop/src/test/resources/postgresql$ ls -l
insgesamt 44
-rwxrwxrwx 1 michael michael   0 2012-03-29 14:08 alter-seq.sql
-rwxrwxrwx 1 michael michael 125 2012-03-29 11:39 Lieferant.csv
-rw-rw-r-- 1 michael michael 203 2012-03-29 15:01 load-csv.sql
-rwxrwxrwx 1 michael michael 134 2012-03-29 14:07 load-csv.template.sql

Hier die Template-Datei für den Bulk Load:
src/test/resources/postgresql/load-csv.template.sql

Code:
SET search_path TO ${schema.postgresql};

COPY lieferant
FROM '@CSVDIR@/Lieferant.csv'
WITH (
	DELIMITER ';',
	FORMAT csv,
	HEADER
);

Mit dieser wird die eigentliche Lade-Datei erzeugt:
src/test/resources/postgresql/load-csv.template.sql

Code:
SET search_path TO ${schema.postgresql};

COPY lieferant
FROM '/home/michael/eclipse-git-repository/swa01/shop/src/test/resources/postgresql/Lieferant.csv'
WITH (
	DELIMITER ';',
	FORMAT csv,
	HEADER
);

Wäre super nett, wenn ihr mir helfen könntet.
 
Hi,

nach der Fehlermeldung hat das nichts mit Maven zu tuen...

"/home/michael/eclipse-git-repository/swa01/shop/src/test/resources/postgresql/Lieferant.csv" for reading: Keine Berechtigung -"

sondern mit den Datei-/Verzeichnisrechten...

Ich vermute, dass Du ein Verzeichnis nicht richtig angegeben hast oder der Benutzer der den Bulk-Load ausführt nicht der ist, der auf dem Dateisystem entsprechende Rechte hat...

Gruß
Karl Heinz Marbaise
 
Hi,

also ich bin mit meinem ganz normalen hauptnutzer drin (nicht root), verzeichnisse gehören alle mir und die datei/verzeichnis-rechte vom gesamten projekt sind alle auf 777.
 
Hi,

kannst Du nochmal zur Kontrolle Maven 2.2.1 installieren und dann damit nochmal probieren ?

Wenn es dann nicht funktioniert eventuell einen Issue Eintrag beim sql-maven-plugin machen ?

Gruß
Karl Heinz Marbaise
 
Ungerne, bin erstmal froh dass Maven überhaupt läuft (arbeite zum ersten Mal mit Maven 😀).

Ich denke es lag vielmehr daran, dass in der pom.xml als Version 3.0.2 eingetragen war (die habe ich von meinem Professor halbfertig zum anpassen bekommen).

Warum er sich jedoch nicht direkt wegen der Version beschwert hat und das erst mit einem so unscheinbaren Fehler (Siehe oben) kommt, ist mir jedoch schleierhaft.
 

Zurück
Oben