如何从postgres列中选择二进制数据

时间:2013-11-11 19:57:34

标签: c# postgresql

我正在编写一个应用程序,其中我从postgres数据库和表名卡中选择数据。

In.cards我们有很多列,但是two.columns是bytea数据类型。它有一个blob保存的one.column被命名为tpl而其他是照片但是当我选择数据并通过dataAdapter填充数据表时,数据显示theese两个列值为System.Byte [],当我将它插入我的master数据库时。将它作为System.Byte []插入,它将丢失列中的二进制数据。我必须将本地服务器表的.syncrhonize主服务器。我们公司有不同的大门,在那里发出通行证,然后它们与中央服务器同步。

我希望你们得到我的观点,请帮助

Databae是postgresql 8.2 Apllication是on.c#

1 个答案:

答案 0 :(得分:1)

在使用dblink连接控制不同版本的postgres服务器之间的数据传输之前,我曾在数据库系统上工作过。这包括传输bytea数据和维护数据类型。 Dblink连接有点限制,我不能说连接时间开销,但它们很好地用于数据传输。

在主服务器上,数据是从卫星中提取的:

INSERT INTO main_table
SELECT * FROM dblink("connect_string", ''SELECT tpl, photo FROM satellite_table;'')
AS data(tpl bytea, photo bytea);

这允许您专门指定传入数据类型。不确定这是否有帮助,但我已经看到这个工作正常8.3分贝。 http://www.postgresql.org/docs/8.3/static/contrib-dblink.html