我是SSIS的新手。对于我的练习,我想将数据从 excel传输到SQL Server。
我为MS SQL Server创建了一个连接管理器(通过选择OLE DB连接的连接管理器)
EXCEL文件的另一个连接管理器
我已在数据流中添加了Excel源代码。
现在,我正在尝试编辑Excel源代码,以便我可以查看Excel文件中的数据,从而引发跟踪错误。
“无法检索连接管理器'excel连接管理器的表信息'无法使用连接管理器连接到源...”
在StackOverflow帖子中搜索了很多内容之后,我发现了这个错误的几个原因和修复。
答案 0 :(得分:1)
问题是Excel数据源是Office 2007,版本低于Office 2010.在这种情况下,需要单独的驱动程序:2007 Office System驱动程序:数据连接组件。
下载并安装:
http://www.microsoft.com/download/en/confirmation.aspx?id=23734
答案 1 :(得分:0)
如果您具有32位版本的Office,请下载32位驱动程序,否则请下载64位驱动程序。 它对我有用,我刚刚安装了{32位}(https://www.microsoft.com/en-za/download/confirmation.aspx?id=13255)这个文件
希望这可以帮助您解决问题
答案 2 :(得分:0)
在尝试了问题中所述的以下所有可能解决方案之后,令人沮丧的是,我决定卸载SSDT并再次安装,尽管它仍然必须遵循下面的前两个建议,但对我来说仍然有效。
SQL数据工具仅在32位版本中可用。因此,请安装“ Microsoft Access数据库引擎2010”
更改DataMigration属性页面配置。将Run64BitRuntime更改为False。
将“ Excel连接管理器”选项“ Excel版本”更改为“ Microsoft Excel 97-2003”以及其他选项。
在执行所有这些操作时,请确保我尝试从中提取数据的Excel文件未打开。
将DelayValidation属性设置为true
答案 3 :(得分:0)
在研究了所有地方之后,我终于找到了临时解决方案。因为我尝试了所有安装访问驱动程序的解决方案,但仍然遇到相同的问题。
对于Excel来源, 在执行此步骤之前,您需要更改设置。将Excel文件另存为2010 format.xlsx
还设置用于调试Run64BitRuntime = False的项目配置属性
我正在使用Visual Studio 2017,SQL Server 2017,Office 2016和Microsoft Access数据库2010引擎32位。 OS Windows 10 64位。
这是临时解决方案。因为许多人正在寻找这种类型的问题。最终,我弄清楚了该解决方案在任何网站上均不可用。
答案 4 :(得分:0)
对我来说,它通过卸载 Microsoft Access Database Engine 2010 64 位并安装 32 位来实现。仅供参考,我在 Win10 和 Excel 64 位上运行 VS2019 32 位。
答案 5 :(得分:0)
我在 PC 和 SSIS 中使用 Excel 2019 版:Excel 源编辑器未显示 2019 版可供选择。所以我选择了2016作为最高版本。
这是我犯的错误。
我将我的 Excel 文件保存在 PC 的 MS EXCEL 97-2003 工作表中,并在 Visual Studio 的 EXCEL SOURCE EDITOR 中选择了相同的版本,即 MS EXCEL 97-2003。
解决方案:我们必须选择我们PC上使用的Excel版本,并在visual studio的excel源代码编辑器中选择相同的版本。