gpt4 book ai didi

ms-access - SSIS 包在迁移到 64 位后失败

转载 作者:行者123 更新时间:2023-12-02 22:30:34 25 4
gpt4 key购买 nike

我们拥有一系列 SQL Server Integration Services 软件包,可将数据从一些 MS Access 数据库复制到 SQL Server 2008 数据库中。有一个父包调用各个子包,并且该父包由运行 .bat 文件的用户启动,该文件执行该包,如下所示:

dtexec /f "\\networkshare\package.dtsx" /CHECKPOINTING OFF /REPORTING EWCDI

这几年来一直运行良好。我们的 IT 部门已开始将 32 位 Windows XP 工作站升级到 64 位 Windows 7,自从他们升级了这些用户的工作站后,软件包一直失败,给出错误

-1071607037,0x,SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR. The requested OLE DB provider MICROSOFT.JET.OLEDB.4.0 is not registered -- perhaps no 64-bit provider is available. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered".

我的工作站尚未从 Windows XP 升级,我仍然可以运行这些软件包,但我推迟升级的能力已经耗尽,我需要尽快找到解决方案。在努力解决该问题的过程中,我发现了许多与此相关的文章和帖子。我尝试过的事情包括:

  • 确保用户安装了客户端工具和 Business Intelligence Development Studio 并且路径有效后,更改 .bat 文件的内容以专门引用“C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtexec.exe”,希望使用 32 位 JET 提供程序
  • 研究了 Run64BitRuntime 设置,但这似乎只在调试时有效,对我没有帮助
  • 研究了将/X86 标志添加到命令行,但根据有关 dtexec 的 MSDN 文章,这仅在 SQL Server 代理正在运行任务时才有效
  • 我尝试的最后一件事是安装 Microsoft Access Database Engine 2010 Redistributable 并更改连接字符串“Provider=Microsoft.Jet.OLEDB.4.0;”到“Provider=Microsoft.ACE.OLEDB.12.0;”。我似乎无法从这个问题上起步。如果我尝试在 BIDS 中创建新连接并将提供程序设置为“Microsoft Office 12.0 Access 数据库引擎 OLE DB 提供程序”并测试该连接,则会收到错误“测试连接失败,因为初始化提供程序时出错。未指定的错误” .

我只是不知道还能尝试什么,并寻求任何帮助,即使它正在尝试我已经尝试过的事情,也许我在最初尝试它们时配置了错误,而不是当然。

任何帮助将不胜感激!

最佳答案

在 SQL 代理作业中或单独执行包时,有一个名为“执行选项”的选项卡,您可以选择“使用 32 位运行时”选项

关于ms-access - SSIS 包在迁移到 64 位后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com