zoukankan      html  css  js  c++  java
  • 从Excel表格导入数据到数据库

    数据库:SQL

    1、小数据直接粘贴

    2、用导入向导

    3、用SSIS包

    4、用SQL语句

    现在详细说一下第4种方法,以.xlsx文件为例

    .xlsx文件需要用provider“Microsoft.ACE.OLEDB.12.0”读取,.xls文件需要Microsoft.ACE.OLEDB.4.0,所以需要先检查是否在SQL注册此Provider

    具体查看位置为:打开SQL Management Studio->SQL Servers->Linked Servers->Providers

    如果没有,需要下载64位引擎安装 http://www.microsoft.com/zh-CN/download/details.aspx?id=13255

    Tip:64位系统中,如果是安装了32位的office 产品(如07版),需要先卸载全部32位产品,才可以安装。而且64位系统中安装了07版office,安装那个没有x64的引擎可以成功,但没有找到4.0Provider。

    彻底卸载32位office产品:

    1、控制面板卸载全部Microsoft Office程序

    2、打开http://support.microsoft.com/kb/290301/zh-cn ,点击运行,将检测到的Microsoft Office程序卸载

    3、清除注册表:运行输入regedit,进入到HKEY_CLASSES_ROOTInstallerProducts ,删除所有0000510开头(win8),00004,00002(win7)开头的项

    开启导入功能:

        exec sp_configure 'show advanced options',1
        reconfigure
        exec sp_configure 'Ad Hoc Distributed Queries',1
        reconfigure

    允许在进程中使用ACE.OLEDB.12,允许动态参数

    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

    调用代码:

    select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:Book1.xlsx', 'select * from [Sheet1$]')


     

      

  • 相关阅读:
    数据结构实验之栈四:括号匹配
    数据结构实验之栈三:后缀式求值
    8月7日学习
    8月6日学习
    8月5日学习
    8月4日学习
    周总结
    8月3日学习
    8月2日学习
    8月1日学习
  • 原文地址:https://www.cnblogs.com/endora/p/importExceltoSQL.html
Copyright © 2011-2022 走看看