Sql 导出多个表时出现SSIS/DTS错误

Sql 导出多个表时出现SSIS/DTS错误,sql,sql-server,sql-server-2008,ssis,Sql,Sql Server,Sql Server 2008,Ssis,我在这里遇到了一个奇怪的问题,当我从MSSMS 2008R2运行导入/导出并将这4个表导出到access数据库时,它将使用与下面相同的表结构出错: “-复制到“sdgrpmap”(错误)消息错误0xc0202009:数据流 任务1:SSIS错误代码DTS_E_OLEDBERROR 发生OLE DB错误。错误代码:0x80004005 (SQL Server导入和导出向导)错误0xc0209029:数据流 任务1:SSIS错误代码DTS_E_诱导的传输失败报告错误 “输入”目标输入(144)失败,

我在这里遇到了一个奇怪的问题,当我从MSSMS 2008R2运行导入/导出并将这4个表导出到access数据库时,它将使用与下面相同的表结构出错:

“-复制到“sdgrpmap”(错误)消息错误0xc0202009:数据流 任务1:SSIS错误代码DTS_E_OLEDBERROR

发生OLE DB错误。错误代码:0x80004005

(SQL Server导入和导出向导)错误0xc0209029:数据流 任务1:SSIS错误代码DTS_E_诱导的传输失败报告错误 “输入”目标输入(144)失败,因为错误代码为0xC020907B 发生,并且“输入”目标输入上的错误行处理 (144)“指定出错时失败。指定的 对象。可能已发布错误消息 在此之前,请提供有关故障的更多信息

(SQL Server导入和导出向导)错误0xc0047022:数据流 任务1:SSIS错误代码DTS_E_ProcessInput失败。ProcessInput失败 组件“目标2-stdchp”(131)上的方法失败,出现错误 处理输入“目的地输入”(144)时,代码0xC0209029 已标识的组件从ProcessInput方法返回错误。 该错误特定于组件,但该错误是致命的且 将导致数据流任务停止运行。可能存在错误 在此之前发布的消息包含有关故障的更多信息。 (SQL Server导入和导出向导)

现在,我尝试验证数据是否存在问题,并验证所有表映射是否正确以及数据类型是否正确,但仍然失败

通过分别运行4个表导出中的每一个,我缩小了范围,并且每一个都工作得很好。但当我把4个都加回来时,它又失败了。我添加了4个中的3个,它仍然运行。在要导出的表组中,表“sdgrpmap”是问题表。不知道为什么,但谷歌搜索了所有的错误代码,它们的范围很广,与我的问题无关

有人知道为什么一个表在一组表导出中运行时会失败,而不是单独运行吗?听起来像是锁定或更新问题,访问连接设置为共享,但可能是sql server问题

谢谢

编辑:添加报告,其中显示3个表写出了正确数量的记录,但第4个“stdchp”只写出了2622条记录中的193条

  • 执行(成功)

  • 复制到
    章节原点
    (成功)已传输16行

  • 复制到
    sdgrpmap
    (错误)已传输40行

消息错误0xc0202009:数据流任务1:SSIS错误代码 DTS_E_OLEDBERROR。发生OLE DB错误。错误代码: 0x80004005。(SQL Server导入和导出向导)错误0xc0209029: 数据流任务1:SSIS错误代码 DTS_E_导致的传输故障或错误。“输入”目标输入 (144)“失败,因为发生错误代码0xC020907B,并且 “输入”目标输入“(144)”上的行处理指定失败 错误。指定对象的指定对象上发生错误 组成部分在此之前可能会发布错误消息,其中包含更多信息 关于失败的信息。(SQL Server导入和导出向导) 错误0xc0047022:数据流任务1:SSIS错误代码 DTS_E_ProcessInput失败。组件上的ProcessInput方法 “目标2-STDHP”(131)在运行时失败,错误代码为0xC0209029 处理输入“目的地输入”(144)。已识别的组件 从ProcessInput方法返回错误。错误是特定的 但该错误是致命的,将导致数据流 任务停止运行。在此之前可能会发布错误消息 有更多关于失败的信息。(SQL Server导入和 导出向导)

  • 复制到stdchp(已停止)

  • 复制到
    stdpdrpanelmap
    (已停止)

  • 执行后(成功)消息

  • 信息0x4004300b:数据流任务1:“组件”目的地-章节来源“(22)”写入了16行。 (SQL Server导入和导出向导)
  • 信息0x4004300b:数据 流程任务1:“组件”目的地1-sdgrpmap(66)“40 排。(SQL Server导入和导出向导)
  • 信息0x4004300b: 数据流任务1:“组件”目的地2-STDHP(131)“写入193 排。(SQL Server导入和导出向导)
  • 信息0x4004300b: 数据流任务1:“组件”目标3-stdpdrpanelmap(201) 写了4853行。(SQL Server导入和导出向导)

我认为它失败是因为表中的数据

若您将来自所有四个表的数据合并到一个表中,那个么目标表应该支持所有四个表的需求

这取决于-

  • 是否允许空值
  • 数据类型和字段大小

您可以在包中添加逻辑,这样就可以有坏数据(如果有)。同样,在派生列的帮助下,处理空值

是否有名为
stdchp
的数据库对象?如果是,SQL Server中的DDL是什么?MS Access中的定义?是的,这是其中一个表,对象确实存在,并且在源和目标中都正确命名。这个案例也是正确的。只是尝试将其重新运行到本地访问数据库作为目标,它写出了3个表,但最后一个表只部分输出。这与它在网络共享上时有点不同,因为它部分写出了第三个表,第四个表已完成。请记住,当我一次导出一个表时,它工作正常。您是否保存了SSI,或者每次都导入/导出SSI。为什么不保存SSI并将其设置为作业并运行作业,而不是每次都通过向导?我已保存SSI