gpt4 book ai didi

c# - 批量复制 C# 到 PostgreSql

转载 作者:行者123 更新时间:2023-11-29 13:20:39 24 4
gpt4 key购买 nike

我有一个包含 1000 条记录的数据表。我想执行从 C# 到 PGSQL 的批量插入操作。我知道一种将文本文件复制到 pgtable 的方法。

示例语法如下:

using (NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;User Id=postgres;Password=postgres;Database=postgres;"))
{
onn.Open();
NpgsqlCommand command = new NpgsqlCommand("copy \"schema\".\"tablename\" (\"col1\",\"col2\") from 'C:\\datafile.txt'", conn);
command.ExecuteNonQuery();
conn.Close();
}

有没有其他函数可以用来传递数据表而不是将数据写入文本文件?我正在使用 Npgsql.dll

最佳答案

您可能应该完整阅读 PostgreSQL docs for COPY .

COPY 既可用于导入 PostgreSQL 服务器文件系统中存在的文件(如您的代码示例所示),也可用于从客户端复制数据,这可能正是您正在寻找的。后者通过将文件名替换为 STDIN 来触发。

如果您想使用 Npgsql 从您的客户端程序导入数据,请阅读 Npgsql COPY docs以及。对于文本数据导入,您可能需要调用 NpgsqlConnection.BeginTextImport(),文档中有一个示例。

关于c# - 批量复制 C# 到 PostgreSql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com