【问题标题】:SSIS Job using ADO.NET SQL Server only will not run in 64 bit, only 32 bit仅使用 ADO.NET SQL Server 的 SSIS 作业不会在 64 位中运行,只有 32 位
【发布时间】:2014-10-02 19:04:45
【问题描述】:

我有一个在 SQL Server 2008 R2 中创建的 SSIS 作业。我已将其简化为 ADO.NET 源(SQL Server DB 表)和 ADO.NET SQL Server 目标(另一个表)。尽可能简单。该作业只是将一张表复制到另一张表。

我正在调试器中运行它。

如果我将属性/调试/Run64BitRuntime 设置为“True”,它会失败。如果我将标志设置为“假”(以 32 位模式运行),它就可以工作。

失败的错误是一些神秘的消息(请参阅本说明底部的错误)。

我安装了 .NET 框架并假设 ADO.NET 驱动程序是 64 位的。

我使用的是 Windows 7 64 位。

我在网上找不到其他关于 ADO.NET 驱动程序不能在 64 位中工作的信息。

有人有什么想法可以帮助我吗?为什么 64 位 ADO.NET 驱动程序不起作用?

[ADO NET 目标 [49]] 错误:无法获取外部列的属性。您输入的表名可能不存在,或者您对表对象没有 SELECT 权限,并且通过连接获取列属性的替代尝试失败。

详细的错误信息是:
调用的目标已引发异常。
无法加载 DLL 'shfolder.dll':设备尚未准备好。 (HRESULT 异常:0x80070015)

【问题讨论】:

  • shfolder.dll是shell文件夹服务,你用的是什么ado源码?
  • 另外,来自堪萨斯城的问候

标签: ssis ssms bids


【解决方案1】:

我的问题是为什么需要在 64 位中进行调试?我知道,我们在 32 位中进行调试,但那是因为我们安装了 64 位实例并安装了 32 位集成服务实例。我不认为本地机器以 64 位运行 IS 包是典型的。话虽如此,请确保您安装了 64 位的所有内容(BIDS、SSDT-BI、IS、SQL),因为即使一个是 32 位的,您也会遇到此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多