SSIS包将成功使用一个表,但不是全部?

时间:2012-07-16 18:59:10

标签: ssis bids sql-job

原谅我对这个主题缺乏经验,因为这是我创建的第一个SSIS包。目标是基本将架构/数据从Access DB复制到SQL Server。我使用BIDS中的导入/导出向导来创建(总共有470个表)。如果我将脚本编写为仅执行一个表,则作业将运行并执行包,并且成功。当我尝试所有表格时,我收到了这个错误:

  

以用户身份执行:DOMAIN \ USER。 Microsoft(R)SQL Server执行包实用程序版本10.50.2500.0(适用于32位版权所有(C)Microsoft Corporation 2010.保留所有权利。开始时间:上午11:47:53错误:2012-07-16 11:48:03.65代码:0xC0202009来源:数据流任务1目的地 - 帐户[55]描述:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E37。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 10.0”Hresult:0x80040E37描述:“无效的对象名称'dbo.Account'。”。结束错误错误:2012-07-16 11:48:03.65代码:0xC0202040源:数据流任务1目标 - 帐户[55]描述:无法打开“[dbo]。[Account]”的快速加载行集。检查数据库中是否存在该对象。结束错误错误:2012-07-16 11:48:03.65代码:0xC004706B源:数据流任务1 SSIS.Pipeline描述:“组件”目标 - 帐户“(55)”验证失败并返回验证状态“VS_ISBROKEN”。结束错误错误:2012-07-16 11:48:03.65代码:0xC004700C源:数据流任务1 SSIS.Pipeline描述:一个或多个组件验证失败。结束错误错误:2012-07-16 11:48:03.65代码:0xC0024107源:数据流任务1描述:任务验证期间出错。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始时间:上午11:47:53完成时间:上午11:48:03经过:10.562秒。包执行失败。步骤失败了。

作业的第一步会从数据库中删除所有表。

EXEC sp_msforeachtable 'DROP TABLE ?'

第二步执行包。

我在网上看了一遍,但却找不到解决方案。任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:0)

您必须为第二个执行SQL任务将延迟验证属性设置为true。

答案 1 :(得分:0)

这让我年龄 - 在几个月的时间里 - 坚持下去。

我在一个工作簿中将三个SQL数据表运行到三个Excel工作表中。我有各种各样的问题,包括损坏的数据 - 工作表之间,偶数 - 和OLE错误以及人们在这些线程中搜索的许多其他间歇性错误。

最后,问题是我在单个数据流中嵌入了三个数据流。事后看来,我猜很明显这是一个问题,但我是SSIS的新手,认为处理工作会更深入。错。

一旦我将流量分成连续三次数据流,一切都很好。

Postscript :在这个项目的过程中搞乱了SSIS后,我确信它可能是我产品中最复杂的MS产品之一跨越。 Sooooooo很多手动配置 - 当SSIS突然撤消所有繁琐的工作时重新配置! - 更改数据类型,将其连接到该数据类型。太可怕了建议:尽可能避免。