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

标签 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

如何阻止这种情况发生?

最佳答案

也许可以尝试以下操作(在您的 TSQL 源查询中):

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

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

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

关于sql-server - SSIS 数据传输添加字符(SQL Server 到 Postgres),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287038/

相关文章:

sql - 如何在 PostgreSQL 中转置二维数组

postgresql - Postgres 触发器

c# - 使用ssis编码后将.dat文件写入.txt文件

php - 从当前日期时间中减去获取的日期时间

ruby-on-rails - 如何建模用户自定义表模型与字段模型的关系

sql-server - 如何对 SQL Server 数据库进行版本控制?

c# - SSIS - 如何使脚本组件失败任务?

SQL Server 表默认排序

sql - 如何在 sql server 2008 中声明时在游标中使用 if 条件?

SQL 服务器查询以查找仅包含特殊字符的值?