打开“Sheet1$”的行集失败。检查数据库中是否存在该对象

问题描述 投票:0回答:3

希望这是一个小问题,有人已经知道答案,但我真的很困惑是什么导致了这个问题。我已经尝试研究此错误消息,但我找到的信息似乎根本没有帮助。也许我只是不是一个高效的 Google 员工:) 还附上了一张图片。

我正在尝试在 SQL Server Management Studio 中创建 SSIS 包。该软件包只是将数据从公司共享驱动器上的 Excel 文件导入到数据库表中。完成 SSIS 包后,我选择“立即运行包”并保存包。 SSIS包运行并保存成功;所有员工记录都插入到表中(太棒了!)。现在,这就是问题发挥作用的地方。我想将 SSIS 包作为作业的一部分执行。但是,当运行作业并尝试执行 SSIS 包时,我收到以下错误消息:

打开“Sheet1$”的行集失败。检查数据库中是否存在该对象。
...返回验证状态“VS_ISBROKEN”。

为什么 SSIS 包在首次创建时工作/运行成功,但在从作业执行时却失败了?

谢谢。enter image description here

==============

编辑:

编辑这篇文章,因为它太长了,无法添加到评论部分,但是,我不认为这是帐户/访问问题 - 只是出于一个小原因。让我分享更多信息,也许它会引导我们走向另一条道路。但从技术上讲,我们有两个 Excel 电子表格和 SSIS 包,它们可以做同样的事情。 Excel 文件是不同的数据集,但它们存储在同一公司网络驱动器/文件夹中,并且都上传到同一数据库(但是不同的表)。 Excel 文件“A”没有遇到此问题,但 Excel 文件“B”却遇到此问题。这两个作业都设置为使用同一帐户运行。另外,另一个小/旁注 - 如果我对 Excel 文件“A”执行“另存为”并重新创建 SSIS 包/作业,那么该新文件(Excel 文件“C”)将遇到与我们相同的问题面向 Excel 文件“B”。那么,为什么该作业可以在“原始文件”上运行,但一旦我执行“另存为”并在新文件上尝试它,就会失败?

sql-server ssis import-from-excel sql-job
3个回答
0
投票

您是否检查过文件“A”是否是带有 .xls 的旧 Excel 文件,文件“B”/“C”是否是带有 .xlsx 的新 Excel 文件?

我发现了这个: http://www.alankoo.com/2012/09/strange-error-loading-excel-files-xlsx.html

或者也许是这样 SSIS 加载表单 Excel 时出错 (2007) - 错误:打开“Sheet1$”的行集失败 & VS_ISBROKEN


0
投票

就我而言,我们动态生成文件名。源文件名与生成的文件名不匹配。所以更正文件名是有效的。


0
投票

我确实很容易解决了这个问题。转到文件连接并将属性“delay valition”设置为“true”即可。我希望这有帮助。问候。

© www.soinside.com 2019 - 2024. All rights reserved.