zoukankan      html  css  js  c++  java
  • 【转】链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。+SQL Server Management Studio中访问EXCEL 2007(XLSX)文件的方法

    SQL Server访问EXCEL的问题多多,开始访问都好好的,突然又不行了,又出了一个问题,在网上搜到本文,收藏一个:

    1.将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem 。

    2. management studio--->服务器对象-->链接服务器-->Microsoft.Jet.OLEDB.4.0-->右键属性-->访问接口选项:全都不选

    源文地址:http://www.cnblogs.com/zlfucku/archive/2012/03/15/2397469.html

    SQL Server Management Studio中访问EXCEL 2007(XLSX)文件的方法

    因为要批量导入EXCEL中的数据,而系统装的是OFFICE 2010,遇到好多问题。

    一、调试环境:

    1、Win7、Office 2010、SQL 2008 R2 EXPRESS。

    2、测试软件:SQL Server Management Studio 2008

    二、测试过程

    1、开启OPENDATASOURCE、OPENROWSET功能

    方法一:

    SQL Server Management Studio 2008中运行:

    --开启服务器端相关配置(SQL Server 2000默认已开启,SQL Server 2005和SQL Server 2008中未开启)
    -- wonsoft.cn
    --
    EXEC sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    GO

    方法二:

    SQL Server Management Studio 2008(2005配置方法请百度)中左视图树的根(即“服务器名称”)右键 -->  选择“方面” -->  选择:方面 =  外围应用配置器  --> 设置:AdHocRemoteQueriesEnabled = TRUE

    2、设置服务的启用模式:

        WINDOWS管理工具/服务中将SQL Server(MSSQLSERVER或EXPRESS)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem、允许系统与桌面相互访问。

    3、SQL语句示例:

    示例一:

    -- wonsoft.cn
    --
    SELECT   *
    FROM      OPENDATASOURCE(
             'Microsoft.Ace.OleDb.12.0',
             'Extended Properties="Excel 12.0;HDR=YES;IMEX=1";Data Source="D:abc4.xlsx"'
             )...[sheet1$]

    示例二:

    -- wonsoft.cn  
    --  
    SELECT   *   
    FROM      OPENROWSET(  
             'Microsoft.Ace.OleDb.12.0',  
             'Excel 12.0;HDR=YES;IMEX=1;Database=D:abc4.xlsx'  
             ,[sheet1$])  

    或:

    -- wonsoft.cn  
    --  
    SELECT   *  
    FROM      OPENROWSET(  
             'Microsoft.Ace.OleDb.12.0',  
             'Excel 12.0;HDR=YES;IMEX=1;Database=D:abc4.xlsx'  
             ,'select * from [sheet1$]')  

     示例三:

    -- wonsoft.cn  
    --  
    SELECT * FROM OpenDataSource(  
          'Microsoft.Jet.OLEDB.4.0',   
          'Data Source="d:	est2.xls";Extended properties=Excel 5.0'  
          )...Sheet1$  

    三、常见故障定位:(示例一为例)1、链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Ace.OleDb.12.0" 返回了消息 "找不到可安装的 ISAM。"。

         例一:

    -- wonsoft.cn
    --
    SELECT   *
    FROM      OPENDATASOURCE(
             'Microsoft.Ace.OleDb.12.0',
             'Extended Properties="Excel 12.0;HDR=YES;IMEX=1";DataSource="D:abc4.xlsx"'
             )...[sheet1$]

    仔细检查,会发现“DataSource”有错,应当是“Data Source”

         例二:

    -- wonsoft.cn  
    --   
    SELECT   *  
    FROM      OPENDATASOURCE(  
             'Microsoft.Ace.OleDb.12.0',  
             'ExtendedProperties="Excel 12.0;HDR=YES;IMEX=1";Data Source="D:abc4.xlsx"'  
             )...[sheet1$]  

    仔细检查,会发现“ExtendedProperties”有错,应当是“Extended Properties”

        注:以上关键字输入错误,也会导致该出错现象。

        例三:很容易出错

    -- wonsoft.cn  
    --   
    SELECT   *  
    FROM      OPENDATASOURCE(  
             'Microsoft.Ace.OleDb.12.0',  
             'Extended Properties=Excel 12.0;HDR=YES;IMEX=1;Data Source="D:abc4.xlsx"'  
             )...[sheet1$]  

    注意扩展属性:Extended Properties=”Excel 12.0;HDR=YES;IMEX=1",如果把双引号去掉,也会导致该错误。

  • 相关阅读:
    Codeforces Round #297 (Div. 2)D. Arthur and Walls 暴力搜索
    Codeforces Round #297 (Div. 2)C. Ilya and Sticks 贪心
    Codeforces Round #297 (Div. 2)B. Pasha and String 前缀和
    Codeforces Round #297 (Div. 2)A. Vitaliy and Pie 水题
    BZOJ 1191: [HNOI2006]超级英雄Hero 匈牙利算法
    Codeforces Round VK Cup 2015
    Codeforces Round #296 (Div. 1) C. Data Center Drama 欧拉回路
    BZOJ 1059: [ZJOI2007]矩阵游戏 匈牙利算法
    UOJ #17. 【NOIP2014】飞扬的小鸟 背包DP
    Hibernate自定义字段查询
  • 原文地址:https://www.cnblogs.com/watermarks/p/3217634.html
Copyright © 2011-2022 走看看