2

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

In.cards 我们有很多列,但是 two.columns 是 bytea 数据类型。它保存了一个blob,其中一个名为tpl,另一个名为photo,但是当我通过dataAdapter选择数据并填充数据表时,数据表将这两个列值显示为System.Byte [],当我将其插入主数据库时。将其插入为 System.Byte[] 它正在丢失。列中的二进制数据。我必须将本地服务器表同步到主服务器。我们公司有不同的闸口,通行证被签发,然后.它们被同步到中央服务器..

我希望你们明白我的意思请帮助

数据库是postgresql 8.2 应用是on.c#

4

1 回答 1

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 db 上运行良好。http://www.postgresql.org/docs/8.3/static/contrib-dblink.html

于 2013-11-14T05:11:43.927 回答