Microsoft.ACE.OLEDB.12.0 及其在 MSSQL中的使用
1.Microsoft.ACE.OLEDB.12.0 简介
就是一个数据访问接口,用于在office文件和非office应用程序间传输数据。例如 Microsoft Office Access 2010(*.mdb和 *.accdb)文件和Microsoft Office Excel 2010(*.xls、*.xlsx和 *.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。
2.Microsoft.ACE.OLEDB.12.0 在 MSSQL中的应用
1) 查看是否已经安装此接口
进入SSMS后,在对象资源管理器中,位次展开“服务器对象”--- “链接服务器”---“访问接口”,如果在访问接口下面找到了Microsoft.ACE.OLEDB.12.0(如下图),则说明已经安装此接口。也有可能版本号不是12.0,此版本是对应Office 2010的。一般情况下,如果安装了Office,此接口会跟着一起被安装。

2) 安装接口
如果没能找到此接口,说明系统没有安装Office或者所安装版本(32bit或64bit)与SQL Server版本不一致。可以有如下解决方案:
a) 若Office与MSSQL位数不一致,重新安装与SQL Server位数相同的Office,同为32bit或64bit;
b) 若不准备安装Office,可以单独安装Microsoft.ACE.OLEDB.12.0:32bit下载 或64bit下载。
若安装时出现点击后闪退,可以先用WINRAR将exe安装包解压,再运行里面的setup
3)使用接口读取Excel文件示例
读取D盘目录下的Test.xlsx文件Sheet1中的内容
SELECT ID,Content FROM
OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;IMEX=1;Database=D:\Test.xlsx')... [sheet1$]
3.常见问题
1)
消息 7403......尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。
原因:当前所连数据库所在服务器,未安装此接口。
解决方案:参见上面第2点。
2)
消息 15281……SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭
可能原因:未开启 Ad Hoc Distributed Queries(即席分布式查询)
参考解决方案:用代码开启 Ad Hoc Distributed Queries
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
3)
消息 7399……链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。访问被拒绝。
消息 7301……无法从链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 获取所需的界面("IID_IDBCreateCommand")。
消息 7302……无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASC" 的实例
可能原因:SQL Server(MSSQLSERVER) 的登陆身份不合适
参考解决方案:将相关服务的登陆身份改为 local system
操作方法:
运行 services.msc,找到SQL Server(MSSQLSERVER),右键属性,登陆相关选项卡,本地系统帐户。
或
开始---所有程序---MicrosoftSQL Server 2008 R2(或其他版本)---配置工具---SQLServer 配置管理器,找到SQL Server(MSSQLSERVER) ,右键属性,登陆选项卡,内置帐户改为Local system。
最后,若在MSSQL JOB中也要用到此接口,则SQL Server代理(MSSQLSERVER)这个服务也要做相同修改。
4)
返回了消息 "Microsoft Access 数据库引擎无法打开文件“”或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的权限
文档已被本地账号打开,关闭即可,如果要打开时也可以访问,请用Windows身份验证方式登陆。
Microsoft.ACE.OLEDB.12.0 及其在 MSSQL中的使用的更多相关文章
- Microsoft ACE OLEDB 12.0 数据库连接字符串
Excel 97-2003 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended ...
- .NET读取Excel数据,提示错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
解决.NET读取Excel数据时,提示错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序的操作: 1. 检查本机是否安装Office Access,如果未安装去去h ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
这种错误的可能性有几种,比如: 1.没有安装数据访问组件,需要安装相应版本的数据访问组件: 2.没有安装相应版本的Office客户端,需要安装相应版本的Office客户端: 3.Microsoft.J ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 解决方法
最近在搞asp.net.今天在做数据库操作的时候,老发生错误,还以为是自己代码有问题,检查了好久都发现错误. 错误提示: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程 ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
一.未在本地计算机上注册“microsoft.ACE.oledb.4.0”提供程序 http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c ...
- 未在本地计算机上注册"microsoft.ACE.oledb.12.0"提供程序解决办法
错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序. 解决办法: 去http://download.microsoft.com/download/7/0/3/7 ...
- Microsoft ACE OLEDB 12.0概念及用法
首先需要清楚几个概念: Database engine(数据引擎):一些预先存储于数据库中的组件: Microsoft JET (Joint Engine Technology):Microsoft ...
- 実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまう
環境 Windows8 64bit Visual Studio 2010 Access 2010 32bit 接続プロバイダは「Microsoft.ACE.OLEDB.12.0」 対応 Downloa ...
- 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
笔记本装的是windows 7旗舰版64位系统,使用的是MS Office 2007(Microsoft.ACE.OLEDB.12.0,32位程序),开发用的是Visual Studio 2010,我 ...
随机推荐
- 【iOS地图开发】巧妙打造中英文全球地图
地图开发的同学们经常遇到这样的问题,国内版地图开发,用高德或者百度就行了.但是,国外的地图怎么办?这里告诉大家,如果利用iOS地图,打造中英文的,国内国外都能用的,全球地图. 制作全英文地图的展示并不 ...
- SHELL字符串使用总结
1.获取字符串的长度,${#str} #设置字符串 $ str="liqiu" #打印字符串 $ echo $str liqiu #继续打印字符串 $ echo ${str} li ...
- JVM内的守护线程Deamon与用户线程User Thread
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6561771.html 一:守护线程Daemon 守护线程:Daemon在希腊神话中解作“守护神”,顾名思义就 ...
- Flash XSS 漏洞详解 根治的好办法
本文的目的是深层次的分析Flash的ExternalInterface的XSS漏洞,并提出比较有效的解决方案. 首先,我们看看什么情况下,会出现XSS. 第一种情况: 把flas ...
- CDC方式及优缺点
什么是数据抽取? 数据抽取是指从源数据源系统抽取目的数据源系统需要的数据.实际应用中,数据源较多采用的是关系数据库.数据抽取的方式分为全量抽取和增量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中 ...
- ps 如何将视频转换成gif?
1.情景展示 视频转gif如何实现? 2.解决方案 通过ps可以实现. 打开ps-->打开视频文件: 功能介绍: 选中图层--> 修改持续时间,可以控制显示的内容: 修改播放速度,可以 ...
- Selenium高亮页面对象
使用QTP习惯了,在QTP中可以通过访问对象的highlight方法直接高亮对象,确实很方便,那么如何让Selenium高亮页面的测试对象了,可以通过javascript修改页面对象的属性进而高亮对象 ...
- jenkins里面使用批处理命令进行自动部署
http://blog.csdn.net/hwhua1986/article/details/47974047
- cmd 运行(打包后的)java程序
package cn.imeixi.chapter1.exer; public class Exer10PrintArgs { public static void main(String[] arg ...
- RHEL7-openldap安装配置三(客户端自动挂载配置)
前两篇文章我们配置好了LDAP服务端和LDAP客户端.这篇文章将讲述从LDAP客户机服务器上挂载NFS服务器上共享的目录. 1.LDAP服务器上NFS共享配置 1.1 NFS服务也可以单独搭建在另外一 ...