我正在使用SSIS将数据库从Oracle数据库迁移到SQL Server 2008 R2架构。其中一个oracle表中有一列,其中包含long
文本。为了适应所需的模式,我在OLEDB源中使用SQL命令,该命令使用多个连接来获取所需的数据。
在迁移而不是整个long
字符串时,只有前100个字符从源传输,其余字符被剪裁。在我尝试没有任何连接的查询后,我能够完整地提取整个文本。
在Oracle客户端上运行查询时,出现了正确的结果。请建议任何直接的方法来纠正问题?目前,我正在使用SQL表临时传输数据,然后使用无连接查询从Oracle数据库中提取数据。
答案 0 :(得分:0)
所以我找到了一个解决方案,基本上是对上面所写内容的修饰。
我需要加入的数据,而且我不想退回" raw"所有连接表的副本,所以我引入了两个来源:一个是使用表直接方法的LONG
列的表的原始副本,而不是SQL命令(过滤为只接受主键和相关的LONG
列) - 如上所述,这保留了长文本的完整内容。然后排除所有联接和LONG
列的另一个来源(称为"元数据"下面)。
然后,只需将两个来源分别通过Sort
传递,然后将其输入Merge Join
,加入主键列并仅选择所需的列。