1

从 PostgreSQL 获取带有 sql server 链接服务器的图像抓取时,我收到以下错误:链接服务器 'bd_acceso_ruisegip' 的 OLE DB 提供程序 'MSDASQL' 返回的数据与列 '[MSDASQL] 的预期数据长度不匹配。fot_imagen '。预期的数据长度(最大)为 255,返回的数据为 38471。

4

2 回答 2

1

使用 PostgreSQL 64 位驱动程序和链接服务器 (.

当我这样编码时:...

select * into Post from OpenQuery(PostgreSQL_Test1, 'select * From public.post')

... MSSQL 表默认为 nvarchar(4000) 的列大小。

我的解决方法:首先,运行一次,对复制的行数有一个小的限制:

select * into Post from OpenQuery(PostgreSQL_Test1, 'select * From public.post limit 10')

接下来,右键单击本地 Post 表。选择“Script table as drop and create” 在创建脚本中,将违规列的大小替换为 VARCHAR(MAX)

接下来,创建表。然后使用:

Insert Post select * from OpenQuery(PostgreSQL_Test1, 'select * From public.post')

希望有帮助。你的旅费可能会改变。

于 2014-12-02T16:53:25.337 回答
1

不知道您是否正在处理 bytea 列,但我遇到了同样的问题。在postrgres ODBC系统dsn的配置中找到了答案。在 Options/Datasource-page 2 下有一个 bytea 选项作为 LO。点击它,现在它就像一个冠军。

于 2014-01-14T01:34:06.807 回答