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