SSIS 包错误“无法更新。数据库或对象是只读的。”对于 Excel 目标

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

当我在 Visual Studio 中执行包时,它工作正常。但是,当在 SQL 中执行该包时,我遇到了此错误“无法更新。数据库或对象是只读的。”此错误消息的子组件名称是 Excel Destination。

我尝试将“IMEX=0;Readonly=False”添加到 Excel 连接管理器的连接字符串,但没有帮助

我看到了这个https://stackoverflow.com/a/42654325/12021687并且我知道我的数据库是只读的(我无法更改),但我不相信它与我相关作为子组件名称错误消息的目标是 Excel。

有人可以指导我可能导致此问题的原因吗?

ssis sql-server-data-tools
3个回答
1
投票

就我而言,我刚刚将目标 excel 文件从网络驱动器移动到 C:\,现在一切都很好。我猜它不能正确释放锁定,具体取决于您的网络驱动器的配置方式。


0
投票

权限问题。软件包可能无法在您期望的用户下运行。

  • 尝试将文件/文件夹的安全权限更改为 NT SERVICE\SQLSERVERAGENT 的完全控制。

重新运行包。如果有效,请检查文件的最后保存者是谁,并授予该用户所需的权限。

附注对我自己来说也是非常令人沮丧的问题!

编辑 同样在我找到上述解决方案之前:

  1. 我在项目中的所有地方都设置了 DelayValidation = True。
  2. 在连接字符串上添加了 ;READONLY=0

0
投票

我在运行 SSIS 包时遇到了同样的问题。转到 Excel 文件位置。并执行以下步骤。

  1. 右键单击Excel文件
  2. 转到“属性”
  3. 转到“安全”选项卡
  4. 选择用户
  5. 使用复选框授予权限
© www.soinside.com 2019 - 2024. All rights reserved.