SSIS2008R2 ado net数据源取数加载到oracle数据库,一直黄色,抽取不完数据

0
各位:
遇到个难题,具体如下:
SSIS抽取SQL SERVER数据库的数据,加载到oracle数据库中,连接方式采用的是ADO NET方式,其中源组件使用的是OLE DB源,这个是执行SQL查询SQL SERVER表中的数据的,目标组件是ADO NET Destination,是用来将数据加载到oracle表里面的。
其中ADO NET Destination目标的连接管理器是使用的oracleClient for oracle,源那头数据是全部可以抽取过来,但是插入oracle数据库表时就只能插入一部分数据,实际我源有2W条左右,但是只能插入9000多条,然后目标就是一直黄色状态,永远无法执行完成(如附件)。
不知何解,希望有人能指点迷津!!
1.jpg 2.jpg
已邀请:
1

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-02 回答

我觉得从以下几个方面入手看看:
  1. 重新检查一下数据源,看是否是数据源的问题,你可以将数据源的数据同样抽取到本地的一个数据表中看看是否所有条数都正确,或者输出到一个文件。
  2. 如果数据源没有问题的话,能否在 Oracle 服务器端尝试比如一次插入2W条数据,看看是否存在问题。
  3. 如果直接插入没有问题的话,那么再尝试使用文件数据源往 Oracle 里面插入数据看看。
上面的操作目的是为了排查是数据源的问题还是 Oracle 的写入问题。

如果数据源没有问题,如果直接插入Oracle也没有问题,但是使用文件作为数据源也一样加载不了2W多条数据的话,那就可能真要好好检查一下 Oracle 那边是否有什么样的限制了。

尝试的过程肯定是枯燥的,但是也是积累经验和提高能力的好机会。

如果一时找不到原因,可以使用一个替代方案也可以实现这样的效果:
比如有1W条数据,可以使用 SSIS 中的循环,根据总条数按1000条为基础算那么就是有10个循环,然后在循环中依次抽取第1-1000条,1001-2000条...直到所有的循环全部完成。

尝试一下,看看这样是否可以暂时解决这个问题。
0

梁勇 - 天道酬勤、上善若水。爱好商业智能 2013-12-02 回答

我也遇到类似问题,同求帮忙

要回复问题请先登录注册