我有一个SSIS软件包,间歇性地失败并出现一些错误,其中两个最有用的信息是:
DFT_PlaySummary SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。来源:" Microsoft SQL Server Native Client 10.0" Hresult:0x80004005描述:"日期格式无效"。 OLE DB记录可用。来源:" Microsoft SQL Server Native Client 10.0" Hresult:0x80004005描述:"日期格式无效"。**
DFT_PlaySummary 输入列出现错误" dtCreated" (2129)on input" OLE DB Destination Input" (2121)。返回的列状态为:"转换失败,因为数据值溢出指定的类型。"。**
源和目标数据库都是SQL Server 2008 R2。源和目标中的列dtCreated是DATETIME(非空)。
现在,我了解错误消息所说的内容,但我无法理解数据包或转换在包中是否无效,而不会在源头被视为无效。
奇怪的是,在某些日子里,程序包将因此错误而失败,重新启动(根据程序包设置),然后在没有任何手动干预的情况下成功。
关于我应该在可能导致此问题的程序包步骤中寻找什么的指示?数据流任务本身由几个OLE DB源组成,每个源都有一个派生列,然后合并这些数据集,然后根据dtCompleted值对各种OLE DB目标进行条件分割。
答案 0 :(得分:0)
您可以尝试两种选择,
当这种类型的错误发生时,数据转换很方便。
应正确使用SSIS日期时间格式。下面的文章清楚地解释了差异。使用您需要的正确格式。