我在3.2.5版本的NPGSQL的帮助下将csv文件的内容写入PostgreSQL表。
我的csv的内容如下
id, value
1, 89
2, 286
3, 80
4, 107
我使用以下命令来编写
Using writer = conn.BeginTextImport("COPY tbl_test (id,value) FROM 'C:/temp/test.csv' DELIMITER ',' CSV HEADER")
当我运行代码时,这些值被写入数据库,但命令抛出以下错误消息:
Received unexpected backend message CompletedResponse. Please file a bug.
当我直接在SQLShell中运行该命令时,一切正常,因此问题似乎是由NPGSQL产生的。
下面是我在SQL Shell中使用的命令:
\COPY tbl_test(id,value) FROM 'C:/temp/test.csv' DELIMITER ',' CSV HEADER;
有没有其他人有过这样的经历?
1条答案
按热度按时间dwbf0jvd1#
正如github issue中的回答,您错误地使用了API。
如果您的CSV文件在客户端(Npgsql应用程序正在运行的地方),那么您应该使用
COPY tbl_test(value) FROM STDIN
,而不是FROM c:\temp\test.csv
。当CSV文件在PostgreSQL服务器上时,使用后者。See the documentation。如果你只是想导入服务器上的文件,只需像普通SQL一样执行COPY命令--创建一个命令并使用ExecuteNonQuery执行,不要使用BeginTextImport API。