首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Npgsql BeginTextImport

Npgsql BeginTextImport
EN

Stack Overflow用户
提问于 2018-01-26 18:26:05
回答 2查看 761关注 0票数 0

我正在制作一个程序,它可以用Visual在PosgresSQL中连接到VisualBasicScript中的数据库。我希望能够像在PSQL控制台上那样导入.csv文件,但由于某些原因,我无法导入。我一直在查看各种网站和文档,但在互联网上如何使用BeginTextImport并没有具体的方法。所有的例子都在C#中。文档太含蓄了,我可以理解什么是真正的参数。这就是我的代码:

代码语言:javascript
复制
Dim cnn As String
cnn = "Server=localhost;Port=5432;Userid=postgres;Database=basedatos;password=123456"
Dim pgCn As NpgsqlConnection = New NpgsqlConnection(cnn)   
pgCn.Open()
pgCn.BeginTextImport("\copy datos.muestreo from 'C:\Users\crist\Desktop\ARCHIVOS FASA\INSERTS\inventarios.csv'" & vbCrLf & "with delimiter ',' CSV header quote E'\''")

但当我运行它时,我得到了这个:

System.ArgumentException:“必须包含来自STDIN命令的副本! 参数名称: copyFromCommand

EN

回答 2

Stack Overflow用户

发布于 2018-02-01 00:53:15

正如上面的@sami注释一样,\copy是一个psql命令,不能在Npgsql (或任何其他数据库驱动程序)中使用。

正如PostgreSQL文档所述,如果您想从PostgreSQL服务器上可用的文件中导入数据,您可以在尝试时使用COPY table_name FROM filename,但只需使用ExecuteNonQuery即可执行。

当您希望从客户端计算机复制数据时,即Npgsql正在运行的位置,BeginTextImport()将被保留。在这种情况下,您必须使用COPY table_name FROM STDIN。有关更多信息,请咨询Npgsql文档

票数 2
EN

Stack Overflow用户

发布于 2018-02-02 01:42:52

我已经搞清楚了,我不知道如何将输入值放在代码中,但是我找到了用using writer for filewrite for each line in file解决方案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48467377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档