我有一个SSIS包,它从Oracle表中读取数据并将其放入Netezza表中。由于某种原因,SSIS无法读取特定的列值(2%的记录),如此处的屏幕截图所示。
Oracle中的列类型是NUMBER(3),而在我的Netezza表中它是SMALLINT。知道为什么会这样吗?
错误列也没有给我任何信息。
到目前为止我尝试了什么:
提前感谢您的帮助。
修改
我让它失败了,这是我得到的错误消息。我的笔记本电脑上有 4 GB 内存。这可能是一个问题吗?
[DESTINATION_TABLE 2]错误:发生了打开数据库连接(ODBC)错误。插入行35244时,SQLExecute返回错误
[DESTINATION_TABLE 2]错误:发生了打开数据库连接(ODBC)错误。州:' HY008'。本机错误代码:51。操作已取消
[DESTINATION_TABLE 2]错误:发生了打开数据库连接(ODBC)错误。州:' 01000'。本机错误代码:1。无法写入nzlog / bad files
[DESTINATION_TABLE 2]错误:发生了打开数据库连接(ODBC)错误。州:' 01000'。本机错误代码:1。无法写入nzlog / bad files
[DESTINATION_TABLE 2]错误:发生了打开数据库连接(ODBC)错误。州:' HY000'。本机错误代码:46。错误:外部表:错误输入行的计数达到最大错误限制
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件" DESTINATION_TABLE"上的ProcessInput方法(2)在处理输入" ODBC目的地输入"时,错误代码为0x80004005失败(13)。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
[SOURCE_TABLE [63]]错误:无法将行添加到输出缓冲区。
[SOURCE_TABLE [63]]错误:发生了打开数据库连接(ODBC)错误。
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 SOURCE_TABLE上的PrimeOutput方法返回错误代码0x80004005。当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
答案 0 :(得分:1)
您是否在数据流中尝试过数据转换?尝试在SSIS中将数字转换为(DT_I2)然后它应该工作我相信