使用ADO.NET SQL Server的SSIS作业不会以64位运行,只能运行32位

时间:2014-10-02 19:04:46

标签: ssis ssms bids

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

我在调试器中运行它。

如果我将属性/ debugging / Run64BitRuntime设置为'True'则失败。如果我将标志设置为'false'(以32位模式运行)它可以工作。

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

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

我在Windows 7 64位上。

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

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

  

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

     

详细的错误消息是:
  调用目标引发了异常   无法加载DLL“shfolder.dll”:设备尚未就绪。 (HRESULT异常:0x80070015)

1 个答案:

答案 0 :(得分:0)

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