Для целей тестирования я хочу создать и заполнить некоторые таблицы с помощью SQL сценарии, а также файлы CSV.
Итак, я создал сценарий SQL, подобный этому:
CREATE TABLE T_FOO (
...
) as select * from CSVREAD('classpath:/foo.csv');
Файл foo.csv
существует и находится в src / test / resources
].
Когда этот сценарий запускается в Eclipse (где src / test / resources
определен как исходный каталог и, таким образом, включен в путь к классам), я получаю следующую ошибку:
Caused by: java.io.FileNotFoundException: resource /foo.csv
at org.h2.store.fs.FileSystemDisk.openFileInputStream(FileSystemDisk.java:388)
at org.h2.util.IOUtils.openFileInputStream(IOUtils.java:708)
at org.h2.tools.Csv.initRead(Csv.java:317)
at org.h2.tools.Csv.readResultSet(Csv.java:217)
at org.h2.tools.Csv.read(Csv.java:193)
... 49 more
What я сделал неправильно? Как правильно использовать протокол classpath:
для загрузки файла CSV?
Если я укажу полный путь к файлу (например, ... CSVREAD ('C: \ my-project \ src \ test \ resources \ foo.csv ');
), то он работает. Но я хочу этого не поэтому:)
Обратите внимание, что я использую последнюю версию H2 ( 1.3.153 ) как Я хотел использовать протокол classpath:
для загрузки моего файла .