2016-12-07 73 views
0

所以我有这个脚本,我需要从Java Web应用程序执行。 包含该行的文件位于WEB-INF使用postgres脚本从JAVA导入CSV

truncate table amm.mm_dosage_unit; 
    alter table amm.mm_dosage_unit add column code_new_version character varying(1); 
    copy amm.mm_dosage_unit FROM 'code_list.csv' DELIMITER ',' CSV; 

我使用读取器来执行每行的。 问题是我不知道如何分辨我的.csv文件的正确路径,并且我得到No such file or directory错误。

任何想法

+0

在PostgreSQL中,当您使用'COPY'命令(而不是psql中的'\ copy'命令)时,它在运行PostgreSQL的服务器上查找文件,而不是在客户端。您的Web应用程序是否与PostgreSQL在同一台机器上运行? – RealSkeptic

+0

是的。它始终是同一台机器。 – user2960896

+0

然后,您需要指定csv文件的完整路径,并确保运行PostgreSQL的用户帐户可以读取文件夹和文件本身的层次结构。 – RealSkeptic

回答

0

据我了解,在SQL查询的服务器,它是一个独立的文件系统来运行Web应用程序的客户端上运行。

sql服务器将在服务器上查找文件,而CSV文件实际位于客户端的机器上。