zoukankan      html  css  js  c++  java
  • sql server 读取excel里的数据

    以下是执行的sql代码,只拿简单读取数据举例,其他详细的,请自行查看

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    RECONFIGURE
    GO
    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
    GO
    SELECT *
    FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\Users\beige\Desktop\sqltoexcel\Data.xlsx;hdr=yes;imex=1', ICD$)
    
    Go
    SELECT *
    FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\Users\beige\Desktop\sqltoexcel\Data.xlsx;hdr=yes;imex=1', CMS$)
    GO
    exec sp_configure 'Ad Hoc Distributed Queries',0
    reconfigure
    exec sp_configure 'show advanced options',0
    reconfigure 

    执行报错时,尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。

    这个错误需要安装AccessDatabaseEngine_X64.exe驱动,选择相应版本下载

    下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=13255

    另外,很重要的一点是:执行以上sql语句的数据库必须是本地数据库,

    否则报错为

    链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。提供程序未给出有关错误的任何信息。
    消息 7303,级别 16,状态 1,第 1 行
    无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的数据源对象。

    下面总结解决方式:
    1、在SQL Server 外围应用配置器中启用 OpenRowSet 和 OpenDataSource函数
    2、执行以上sql语句的数据库必须是本地数据库,如果为远程的数据库就会报上面的错误
    3、链接字符串 Extended Properties属性的内容要以分号间隔并用双引号括起来,sheet1$ 在括号外
    4、注意office的版本4.0是office2003,12.0是office2007的版本,看看是否装了驱动。
    5、最为关键的是要看sql server 版本号,是32位的还是64位的。x64位的sql server很多的office的驱动是不支持的。

     

  • 相关阅读:
    throw关键字
    Android WebView 调试方法
    webpack的Hot Module Replacement运行机制
    如何使用Node.js编写命令工具——以vue-cli为例
    webpack3新特性简介
    node.js如何制作命令行工具(一)
    webpack务虚扫盲
    web worker 扫盲篇
    httpd配置ResponseHeader
    针对iPhone的pt、Android的dp、HTML的css像素与dpr、设计尺寸和物理像素的浅分析
  • 原文地址:https://www.cnblogs.com/sevene/p/6256284.html
Copyright © 2011-2022 走看看