无法将我的.xlsx导出到我的Sql server 2008数据库

时间:2017-07-24 16:09:12

标签: sql-server excel sql-server-2008 import ssms

我有一个excel表 .xlsx 扩展名,大约有500,000行和16列。我想在我们在 windows server 2008 R2 下运行的sql server数据库中导入它。所以我在 SQL Server Management Studio 2008 R2 中尝试了以下步骤,但它们不起作用: -

  1. 我创建了一个新的数据库,该数据库具有相同的16列+我添加了一个新的ID列,并将其设置为主键。

  2. 然后我右键点击数据库>任务>>导入数据 enter image description here

  3. 我选择excel sheet 2007>>浏览文件>>点击下一步>>我收到了这个错误: -

  4.   

    TITLE:SQL Server导入和导出向导

         

    无法完成操作。

         

    ------------------------------附加信息:

         

    ' Microsoft.ACE.OLEDB.12.0'提供商未在本地注册   机。 (System.Data)

         

    ------------------------------按钮:

         

    确定

    enter image description here

    1. 现在在link内,正确答案提到了以下内容: -
    2.   

      您可能遇到的问题是导入/导出向导正在进行中   作为32位版本推出。这可能是由于你的权利   单击数据库并单击导入,因为SSMS是a   32位程序将启动32位进程。尝试明确   单击运行导入/导出向导(64位)   开始 - >程序文件 - > Microsoft SQL Server 2012->导入和导出   用于从64位数据源导入数据的数据(64位)。

      所以我运行导入/导出向导(64位),但在数据源下拉列表中,我找不到excel表,如下所示: -

      enter image description here

      1. 最后一步我尝试运行此命令: -
      2.   

        INSERT INTO [SalesDataDemo]。[dbo]。[SalesData] select * FROM   OPENROWSET(' Microsoft.ACE.OLEDB.12.0',' Excel   12.0;数据库= c:*****。xlsx; HDR =是',' SELECT * FROM [Sheet1 $]')

        但我收到了这个错误: -

          

        Msg 7403,Level 16,State 1,Line 1 OLE DB提供程序   " Microsoft.ACE.OLEDB.12.0"尚未注册。

        所以有人可以在我的sql server 2008 r2数据库中导入我的.xlsx文件吗?

        最后注意,现在SQl服务器我正在尝试在其中导入,没有安装Excel工作表或办公室..所以这可能是问题吗?

3 个答案:

答案 0 :(得分:1)

访问Microsoft的网站并下载Microsoft Access Database Engine 2010 Redistributable。安装它并将以下设置导入注册表。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\Providers\Microsoft.ACE.OLEDB.12.0]
    "AllowInProcess"=dword:00000001
    "DynamicParameters"=dword:00000001
    "DisallowAdhocAccess"=dword:00000000

我认为应该允许您导入电子表格。

答案 1 :(得分:0)

After you install ACE,如果仍然出现此错误,请尝试从下拉列表中选择其他Excel version。听起来很傻,但实际上,请尝试每个。导入向导似乎不能很好地猜测您已安装了哪些驱动程序。

Choose Data Source - Excel version

答案 2 :(得分:0)

您必须安装64x导入导出向导。我搜索然后发现了这个;


注意 若要使用64位版本的SQL Server导入和导出向导,必须安装SQL Server。 SQL Server数据工具(SSDT)和SQL Server Management Studio(SSMS)是32位应用程序,只能安装32位文件,包括32位版本的向导。


如果仅从SQL Serverİnstallation向导安装SQL工具连接,现在即可将Excel导入到SQL

[您可以在此页面中阅读1