SSIS数据传输添加字符(SQL Server到Postgres)

时间:2013-01-11 21:37:08

标签: sql-server postgresql ssis greenplum

我创建了一个SSIS包,它从SQL Server数据库中获取地理数据并将其复制到Greenplum Postgres数据库中的几何列。

我正在以迂回的方式做这件事,因为PGNP驱动程序在以正常方式尝试时会出现奇怪的错误。所以我正在做的是在SQL Server源上使用GeogColumn.STAsText()并将其插入Greenplum数据库的文本列,然后运行更新Greenplum中几何列的任务表使用新插入的文本,例如看起来像POLYGON(-85 42, -86 43)

问题是在每个字符后添加 \\ 000 ,然后更新将无效。这是它的样子:

来源 enter image description here

目标

enter image description here

如何阻止这种情况发生?

1 个答案:

答案 0 :(得分:3)

或许尝试以下(在您的TSQL源查询中):

,CAST(geogColumn.STAsText() as varchar(max)) AS WKT_TEXT 
,geogColumn.STAsBinary() AS WKB_IMAGE 

我会选择第二种味道,因为它应该稍微更有效率

不确定PG端需要的目标列是什么,但我怀疑是TEXT和IMAGE