DB2的SSIS OLE DB目标(iSeries)

时间:2017-06-21 19:03:22

标签: ssis db2 oledb

我有一个SSIS包,将数据从SQL Server移动到DB2(iSeries)。我的OLE DB目标具有SQL命令的数据访问模式,具有以下SQL:

SELECT
IUWHDP      -- TBDepartment
,IUBATID        -- TBBatchId
,IUADDTS    -- TBTimestamp
,IUADDUC    -- TBUCTimestamp
,IUSTATUS   -- TBStatus
,IUSTSTS        -- TBStatusTimestamp
,IUSTSUC        -- TBStatusUCTimestamp
,IUTEXT     -- TBStatusText
,IUWHSE     -- TBWarehouse
,IUUTYP     -- TBUpdateType
,IUITEM     -- TBItemNumber
,IUTYPE     -- TBItemType
,IUDESC     -- TBItemDescription
,IUSTYP     -- TBSection
,IUDESG     -- TBDesignation
,IUACTV     -- TBActivityZone
,IUBLD      -- TBBuildCode
,IUPDSC     -- TBPackDescription
,IUUM1      -- TBNormalUOM
,IUFLG1     -- TBAllowBreakdown
,IUUMQ2     -- TBBreakdownQty   
,IUFLG2     -- TBAllowBreakdown2
,IUULEN     -- TBLength
,IUUHGT     -- TBHeight
,IUUWDT     -- TBWidth
,IUSWGT     -- TBWeight
,IUCWGT     -- TBCatchWeightItem
,IUUMQ3     -- TBBreakdownQty2
,IUREPL     -- TBReplenishmentLevel
,IUBLNK     -- TBGrossWeight
,IUFLGD     -- TBDateSensitive
,IUFLGB     -- TBAllowBulkPicks
,IUSLIF     -- TBShelfLifeDays
,IUNDAY     -- TBNoticeDays
,IUTIE      -- TBTie
,IUHIGH     -- TBHigh
,IUMFLG     -- TBManufacturerDateItem
,IUDDAY     -- TBDistributorDays
,IUUDAY     -- TBEndUserDays
,IUMDAY     -- TBManShelfLifeDays
,IUMITM     -- TBMasterItemNumber
,IUNSLT     -- TBNonSlottedItem
,IUXDCK     -- TBCrossdockItem
,IUBNBR     -- TBBuyerNumber
,IULOT      -- TBLotCodeItem
,IULTRK     -- TBLicenseTrackingItem
,IUODAY     -- TBNumberOfDaysOut
,IUPQN1     -- TBRepackParentNormal
,IUPQN2     -- TBRepackParentBreakdown1
,IUPQN3     -- TBRepackParentBreakdown2
,IUCUBE     -- TBCube

这     " PIRF002"" IMPSITMN"

我收到以下错误:

  

[OLE DB Destination [174]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。   OLE DB记录可用。资料来源:" IBMDA400 Command" Hresult:0x80004005描述:" SQL0104:令牌。无效。有效代币:。   原因。 。 。 。 。 :在令牌处检测到语法错误。令牌。不是有效的令牌。有效令牌的部分列表是。此列表假定语句在令牌之前是正确的。该错误可能在语句中较早,但语句的语法在此之前似乎是有效的。恢复。 。 。 :执行以下一项或多项操作并再次尝试请求: - 验证令牌区域中的SQL语句。更正语句。错误可能是缺少逗号或引号,可能是拼写错误的单词,也可能与子句的顺序有关。 - 如果错误标记是,则更正SQL语句,因为它不以有效子句结束。"。

     

[OLE DB Destination [174]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 " OLE DB Destination.Inputs [OLE DB Destination Input]"失败,因为错误代码0xC020907B发生,错误行处置" OLE DB Destination.Inputs [OLE DB Destination Input]"指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件" OLE DB Destination"上的ProcessInput方法(174)在处理输入" OLE DB目标输入"时失败,错误代码为0xC0209029。 (187)。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

如果我使用IBM Data Studio对DB2数据库运行相同的SQL,它运行没有问题,所以我相信SQL是正确的。从OLE DB目的地我可以成功预览表中的数据。但是当我从VS 2015运行包时,我得到了错误。我做了一些搜索,但尚未找到解决方案。想法可能会导致什么?

0 个答案:

没有答案