PostgreSQL文件处理和目录



当我使用PostgreSQL和文件(例如要将文件的内容复制到表)时,必须将文件存储在托管数据库的计算机上。有没有机会更改此?

如果我使用以下代码复制.csv文件的内容,则该路径是指托管数据库的计算机。

     Using cmd = New NpgsqlCommand()
         Using conn = New NpgsqlConnection("Host=" & c_dbHost & ";Username=" & c_user & ";Password=" & c_password & ";Database=" & c_DBName)
             conn.Open()
             Using writer = conn.BeginTextImport("COPY tbl_test(value) FROM 'C:temptest.csv' DELIMITER ',' CSV HEADER;")
             End Using
         End Using
     End Using

我有一个临时创建.csv文件的前端。他们的内容必须存储在数据库中。

什么是常见方法?

我看到的唯一可能性是安装FTP服务器,前端将.CSV文件发送到,但是我希望该内容在数据库中随时存储在数据库中,而不会保存创建的.csv在FTP文件夹中可以从数据库服务器到达。

大多数客户端驱动程序都支持围绕COPY协议的包装器,允许您通过客户端驱动程序COPY ... FROM STDIN

npgsql也不例外,请参见文档。

您似乎已经使用了conn.BeginTextImport,因此您似乎已经一半了。我想您只是没有意识到您可以指定FROM STDIN,然后在返回的writer上循环以从本地CSV文件编写行。

最新更新