我有一个3年前由已久的人构建的SSIS程序包。在过去的一年中,我已经多次运行它,现在却遇到了这些错误,而且我不知道为什么会出现这些错误。此ssis包从excel文档导入到临时表。一旦该信息第二次运行在临时表上,它将从临时表获取并将其与其他列一起插入生产表。这些是我得到的错误:
[OLE DB Destination [162]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has
occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult:
0x80004005 Description: "Unspecified error".
[OLE DB Destination [162]] Error: There was an error with input column "UserProfileID" (299) on
input "OLE DB Destination Input" (175). The column status returned was: "The value violated the
integrity constraints for the column.".
[OLE DB Destination [162]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The
"input "OLE DB Destination Input" (175)" failed because error code 0xC020907D occurred, and
the error row disposition on "input "OLE DB Destination Input" (175)" specifies failure on
error. An error occurred on the specified object of the specified component. There may be
error messages posted before this with more information about the failure.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on
component "OLE DB Destination" (162) failed with error code 0xC0209029 while processing input
"OLE DB Destination Input" (175). The identified component returned an error from the
ProcessInput method. The error is specific to the component, but the error is fatal and will
cause the Data Flow task to stop running. There may be error messages posted before this with
more information about the failure.
Run Code Online (Sandbox Code Playgroud)
当我看到“输入列'UserProfileID'输入错误”时,我在临时表中查看了它,它为null。这是程序包在运行时应查找的列之一。但是我不知道该信息是否在第二次运行中找到,还是应该在第一次运行时填充。所以我不确定那是我遇到的问题。
感谢您能获得的任何帮助。如果需要任何其他信息,我可以尝试提供。感谢任何可以提供帮助的人。

表的结构最近是否发生了变化?如果该字段以前没有约束,现在有约束,那么您需要解决 SSIS 包中的问题,将任何不符合约束的记录移动到异常表中,或者您需要找出约束的原因在不适合导入的数据类型时添加。
我要查看的下一个地方是 Excel 文件。当一个包已经运行了一段时间的文件突然出现问题并且插入数据的表的结构没有变化时,那么很可能文件中的数据是错误的。
| 归档时间: |
|
| 查看次数: |
14085 次 |
| 最近记录: |