小编Ada*_*m H的帖子

SSIS包在SQL Server 2012中未运行为32位

我有一个我在VS2012中开发的包(使用SQL数据工具组件),它使用VFPOLEDB提供程序从DBF文件收集数据,并将其放入SQL Server 2012 X64服务器上的数据库中.包含该程序包的项目将Run64BitRuntime的DebugOption设置为false.我已将此包导入测试和实时服务器的SSIS包存储(相同的设置).VFPOLEDB提供程序安装在两者上,我可以在两台计算机的注册表中看到它的32位运行时.

程序包在测试计算机上正常运行,但在现场计算机上运行失败.SQL的实时实例似乎无法识别已安装的32位VFPOLEDB提供程序.

SQL实例的唯一区别是实时环境设置了集成服务目录,而测试则没有.查看服务器的日志,当实时启动时,它运行sp_ssis_startup,然后记录有关正在加载的不安全程序集的消息.此SP不在测试环境中运行,因为没有目录.

我创建的作业将标志设置为使用32位运行时,但我不禁觉得SSIS目录与我正在使用的VFPOLEDB有问题,而不是加载它.

我对SSIS目录一无所知,那么有人能够建议我可以进入的任何方向吗?

更新:这是我的工作步骤配置.设置32位运行时标志. SSIS作业步骤配置

更新#2:

  1. OLEDB提供程序已正确安装.
  2. 两台计算机上都安装了相同版本的提供程序.
  3. OBDCAD32.exe显示相同版本的VFPOLEDB提供程序.两台计算机上都没有定义DSN.我的本地机器确实定义了DSN,因此我将尝试为dBASE文件添加一个,看看是否有帮助.
  4. 现在正在尝试这一步骤.我正在寻找一种方法来使用dtexec工具,而无需创建SSISDB目录.虽然我确实删除了现有的SSIS目录,并停止在服务启动时执行sp_ssis_startup.我没有看到关于不安全程序集的日志条目,但作业仍然失败,并且出现了与以往相同的错误.我将在4日报告,并可能进一步要求进一步的指导.

更新#3:
我刚刚检查过,测试和现场环境与我原先说的不一样.实时服务器没有32位版本的dtexec.exe(虽然我认为这不重要,因为TechNet说使用SQL Server代理运行的作业将始终使用64位版本.我想我使用了x86和i64 ISO来设置测试环境,但只有64位版本才能实现.改变这一点需要,我想,从实时框中卸载Integration Services共享组件并使用双iso重新安装它.

我想设置"使用32位运行时"选项只有在使用32位版本时才有效吗?这可能解释了一些事情

ssis oledbconnection visual-foxpro sql-server-2012 ssis-2012

9
推荐指数
1
解决办法
1万
查看次数