【发布时间】:2014-01-29 12:55:23
【问题描述】:
如何使用复制命令将数据从远程机器中存在的 csv 文件批量插入到 postgresql 表中,使用 C#? 我有一个 C# 前端,我需要使用它从 csv 文件将数据加载到 postgresql 表中。数据库在远程服务器中,csv 文件在我的机器中。
【问题讨论】:
标签: c# postgresql copy remote-server
如何使用复制命令将数据从远程机器中存在的 csv 文件批量插入到 postgresql 表中,使用 C#? 我有一个 C# 前端,我需要使用它从 csv 文件将数据加载到 postgresql 表中。数据库在远程服务器中,csv 文件在我的机器中。
【问题讨论】:
标签: c# postgresql copy remote-server
假设 CSV 文件在运行 C# 程序的机器上,您需要使用COPY ... FROM STDIN。这很难直接从客户端驱动程序中使用,但它们中的大多数都支持自己的接口。
我猜您正在使用 nPgSQL,因为您没有费心提及您使用的客户端。如果是这样,您可以使用NpgsqlCopyIn。
【讨论】:
根本不可能,除非你在 postgres 服务器上挂载远程机器。复制postgres需要能够在本地访问文件。
您可以尝试将文件从 A scp 到 B,或者自己解析文件并将批量插入到 postgres 中,即: 创建表文件(文件结构); 读取 100 行 插入到tabe文件中 值(第 1 行) ,(第 2 行) ... ,第 (100) 行
【讨论】:
COPY ... FROM STDIN 就是为了这个目的。