【发布时间】:2023-03-30 09:50:01
【问题描述】:
我在 Visual Studio 中使用 SSIS Import and Export Wizard 创建了一个 SSIS 包,当我在那里运行它时,它运行成功。基本上,SSIS 包在我的 SQL Server 数据库上运行 sql 查询并将结果导出到 Excel 文件中。
我已将该包打包到 SQL Server 作业中,并安排它在特定时间运行。我注意到它失败了,并且日志文件显示以下错误消息:
Microsoft (R) SQL Server 执行包实用程序版本 12.0.5000.0,适用于 64 位版权所有 (C) Microsoft Corporation。版权所有。开始时间:下午 4:44:00 错误:2017-10-12 16:44:00.59 代码:0xC0016016 来源:ExpExcel 描述:无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“密钥无效,无法用于指定状态。”。您可能无权访问此信息。当存在加密错误时会发生此错误。验证正确的密钥是否可用。结束错误错误:2017-10-12 16:44:00.68 代码:0xC0209303 源:ExpExcel 连接管理器“DestinationConnectionExcel”描述:请求的 OLE DB 提供程序 Microsoft.Jet.OLEDB.4.0 未注册。如果未安装 64 位驱动程序,请在 32 位模式下运行该软件包。错误代码:0x00000000。 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。结束错误错误:2017-10-12 16:44:00.68 代码:0xC00291EC 源:删除表 SQL 任务 1 执行 SQL 任务描述:无法获取连接“DestinationConnectionExcel”。连接可能未正确配置,或者您可能对此连接没有正确的权限。结束错误错误:2017-10-12 16:44:00.68 代码:0xC0209303 源:ExpExcel 连接管理器“DestinationConnectionExcel”描述:请求的 OLE DB 提供程序 Microsoft.Jet.OLEDB.4.0 未注册。如果未安装 64 位驱动程序,请在 32 位模式下运行该软件包。错误代码:0x00000000。 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册”。结束错误错误:2017-10-12 16:44:00.68 代码:0xC00291EC 来源:准备 SQL 任务 1 执行 SQL 任务描述:无法获取连接“DestinationConnectionExcel”。连接可能未正确配置,或者您可能对此连接没有正确的权限。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:下午 4:44:00 结束时间:下午 4:44:00 经过时间:0.219 秒。包执行失败。步骤失败。,00:00:00,0,0,,,,0
我很难弄清楚如何调试这些错误并找到解决方案。如果我的 SSIS 包在 Visual Studio 中运行良好(与 SQL Server 安装在同一台机器上),那么为什么它作为 SQL Server 作业会失败?
我还必须补充一点,那台机器上没有安装 Microsoft Office。这可能是原因吗?
【问题讨论】:
-
这是一个常见问题。包裹的保护等级是多少? SQL 代理在哪个用户下运行?你连接到什么样的数据库?如果是 SQL Server,您可以使用 Windows 身份验证吗? mssqltips.com/sqlservertip/2091/…
-
运行 SQL 代理的用户与其他运行良好的 SQL 作业的用户相同。我正在使用 SQL Server 身份验证,数据库只是一个 SQL Server 数据库。
-
比较包装上的保护等级。这可能是用户密钥。
-
好的,谢谢。我也会对此进行调查并报告。
标签: sql-server ssis sql-job