CSV-Datei laden, die sich im Klassenpfad für die H2-Datenbank befindet

8

Zu Testzwecken möchte ich einige Tabellen mit SQL-Skripten und CSV-Dateien erstellen und füllen.

Also habe ich ein SQL-Skript wie dieses erstellt:

%Vor%

Die Datei foo.csv existiert und befindet sich in src/test/resources .

Wenn dieses Skript auf Eclipse ausgeführt wird (wobei src/test/resources als Quellverzeichnis definiert ist und daher im Klassenpfad enthalten ist), erhalte ich den folgenden Fehler:

%Vor%

Was habe ich falsch gemacht? Wie kann das classpath: -Protokoll zum Laden einer CSV-Datei korrekt verwendet werden?

Wenn ich den vollständigen Pfad für die Datei einstelle (wie ... CSVREAD('C:\my-project\src\test\resources\foo.csv'); ), funktioniert es. Aber das ist nicht der Grund, warum ich das tun möchte:)

Beachten Sie, dass ich die neueste Version von H2 ( 1.3.153 ) als Ich wollte das classpath: Protokoll verwenden, um meine Datei zu laden .

    
romaintaz 29.03.2011, 15:02
quelle

1 Antwort

10

Auch wenn die offiziellen Dokumente das Beispiel CSVREAD('classpath:/org/acme/data/address.csv') angeben, Sean Patrick Floyd schlug vor, den führenden Schrägstrich zu entfernen, dh mit:

%Vor%

und das ist funktioniert !

    
romaintaz 29.03.2011, 15:25
quelle