SSIS从Oracle提取数据

时间:2014-05-15 18:27:06

标签: oracle ssis

我有一个SSIS包,它使用Native OLD DB \ Oracle Provider for OLD DB从oracle数据库中提取数据。 我的包成功但缓慢地将数据从Oracle中的一个视图拉到我的SQL数据库中的临时表。我遇到的问题是Oracle中的一些字段长度为4000个字符,而在SQL Server中我只需要前255个字符。在我的oracle查询中做一个子字符串会更好吗,只需要我需要的大小,或者取所有4000个字符?有没有更好的方法来处理这种数据导入?

这是我用来从Oracle提取数据的查询示例:

select a
, b
, c
, substring (c,1,255) as c, substring (d,1,255) as d
, e
,   CASE WHEN EXTRACT(YEAR from LAST_TAKEN_DT) < 1900
        THEN NULL 
        WHEN EXTRACT(YEAR from LAST_TAKEN_DT) > 2025
        THEN NULL
    END AS LAST_TAKEN_DT

来自oracle_View1

1 个答案:

答案 0 :(得分:1)

首先,如果由你决定,我会建议在OLEDB连接上使用Attunity Oracle适配器。它肯定要快得多,您可以选择使用派生列在Oracle查询中或在SSIS包中执行子字符串。

相关问题