SSIS 和 64 位 Excel
Posted
技术标签:
【中文标题】SSIS 和 64 位 Excel【英文标题】:SSIS and 64bit excel 【发布时间】:2014-03-14 12:23:33 【问题描述】:我对此进行了彻底的研究,但我还没有找到满意的答案。
我正在使用 SQL Server Data Tools 2010 和 Microsoft Office 2013 64 位。我知道存在兼容性问题,我正在尝试解决它,因为我知道您可以将 .xlsx 文件用作数据流中的数据源。
首先我尝试在 Project -> Properties -> Configuration Properties -> Debugging 中将 Run64BitRuntime 设置为 False,但没有成功
每当我尝试导入 .xlsx 文件时,都会遇到同样的错误
Microsoft Visual Studio
------------------------------
Could not retrieve the table information for the connection manager
'Source Path'. Failed to connect to the source using the connection
manager 'Source Path'
------------------------------
所以我尝试按照许多人的建议下载“Microsoft Access 数据库引擎 2010”。 64位安装成功但32位返回如下错误
You cannot install the 32-bit version of Microsoft Access database engine 2010
because you currently have 64-bit Office products installed.
现在我知道我在这里遗漏了一个步骤,因为我可以在控制面板的已安装程序列表中看到“Microsoft Access 数据库引擎 2010”,但当我尝试创建一个新的连接管理器。
所以在我按照blog 的说明进行操作之前,我想确保没有更简单的方法可以解决问题
提前感谢您的宝贵时间。
【问题讨论】:
因为 Visual Studio 是 32 位的,所以您需要 32 位的 office/excel 驱动程序。而且因为您不能同时安装 32 位和 64 位驱动程序,所以您遇到了问题。解决方案: - 使用常规的 32 位 office(或者最好不要在装有 SQL Server 的机器上使用 office) - 不要在 SSIS 中使用 excel 作为源。 【参考方案1】:如果您的机器是 x64,请忘记 Excel,因为没有可用的驱动程序。 只需将文件转换为 CSV 并改用平面文件连接器。
【讨论】:
【参考方案2】:好的,答案非常简单,以至于我现在为这篇文章感到羞耻。
如果您使用的是 Microsoft Office 2013 64 位并希望使用 SSIS,您必须下载并安装 32 位 Microsoft Access Database Engine 2010 Redistributable,而不是 64 位,请将 Run64BitRuntime 设置为 False一切都会像魅力一样发挥作用。
【讨论】:
以上是关于SSIS 和 64 位 Excel的主要内容,如果未能解决你的问题,请参考以下文章
visual studio 2008 (ssis连接oracle数据库)未在本地计算机上注册OraOLEDB.Oracle.1
确定当前的 PowerShell 进程是 32 位还是 64 位?