【问题标题】:Get along with image sql server linked servers from PostgreSQL与来自 PostgreSQL 的图像 sql server 链接服务器相处
【发布时间】:2013-06-24 22:12:00
【问题描述】:
从 PostgreSQL 获取带有 sql server 链接服务器的图像抓取时,我收到以下错误:链接服务器 'bd_acceso_ruisegip' 的 OLE DB 提供程序 'MSDASQL' 返回的数据与列 '[MSDASQL] 的预期数据长度不匹配。 fot_imagen '。预期的数据长度(最大)为 255,返回的数据为 38471。
【问题讨论】:
标签:
sql-server
sql-server-2008
postgresql-9.2
msdasql
【解决方案1】:
不知道您是否正在处理 bytea 列,但我遇到了同样的问题。在postrgres ODBC系统dsn的配置中找到了答案。在 Options/Datasource-page 2 下有一个 bytea 选项作为 LO。点击它,现在它就像一个冠军。
【解决方案2】:
我在使用 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 表。选择“脚本表作为删除和创建”
在创建脚本中,将违规列的大小替换为 VARCHAR(MAX)
接下来,创建表。
然后使用:
Insert Post select * from OpenQuery(PostgreSQL_Test1, 'select * From public.post')
希望对您有所帮助。
您的里程可能会有所不同。