1

我正在使用 SSIS 将数据库从 Oracle 数据库迁移到 SQL Server 2008 R2 架构。在其中一个 oracle 表中有一个列,其中包含long文本。为了适应所需的模式,我在 OLEDB 源中使用 SQL 命令,该命令使用多个连接来获取所需的数据。

在迁移而不是整个long字符串时,仅从源传输前 100 个字符,其余的被修剪。在我尝试了一个没有任何连接的查询之后,我能够完整地提取整个文本。

在 Oracle 客户端上运行查询时,会出现正确的结果。请提出任何直接的方法来纠正问题?目前,我在使用无连接查询从 Oracle 数据库中提取数据之前临时使用 SQL 表传输数据。

4

1 回答 1

0

所以我找到了一个解决方案,基本上是对上面所写内容的点缀。

我需要连接的数据,并且我不想拉回所有连接表的“原始”副本,所以我提取了两个来源:一个是LONG使用 table direct 方法的带有列的表的原始副本,不是 SQL 命令(过滤为仅获取主键和相关LONG列) - 如上所述,这保留了长文本的完整内容。然后是另一个包含所有连接和LONG排除列的源(下面称为“元数据”)。

然后简单地将两个源分别通过 a Sort,然后将它们输入 a Merge Join,加入主键列并仅选择所需的列。

图表

于 2014-09-08T16:13:03.377 回答