SQL SERVER 2017 OpenDataSource 失效求解!!!

李世铭 2018-04-07 10:46:55
新换的SQL SERVER 2017,发现找不到Microsoft.ACE.OLEDB.12.0!

原因是office是2007.试过N多方法。可以找到Microsoft.ACE.OLEDB.12.0了。
但是select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=e:\Book1.xlsx')...[Sheet1$]
报错:链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 2 行
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。
无奈更换office版本为64位版本。
Microsoft.ACE.OLEDB.12.0也设置正常:

但是依然报错:
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=e:\Book1.xlsx')...[Sheet1$]
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 2 行
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。

select * from
OpenDataSource ('Microsoft.ACE.OLEDB.12.0','Data Source=e:\sudo.mdb')...[sodu]
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。

OpenRowSet 同样是消息7303.

求助!!!
...全文
684 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfangcom 2019-06-12
  • 打赏
  • 举报
回复
引用 12 楼 lfangcom 的回复:
[quote=引用 10 楼 吉普赛的歌 的回复:]将 服务的登录 账号改为本地系统账号再试试:

您好,我如果本地文件,导入远程服务器,也是出现以上的问题,本地文件导入本地服务器就可以,咋回事?困扰我好几天了[/quote]我需要导入到远程服务器上
lfangcom 2019-06-12
  • 打赏
  • 举报
回复
引用 10 楼 吉普赛的歌 的回复:
将 服务的登录 账号改为本地系统账号再试试:

您好,我如果本地文件,导入远程服务器,也是出现以上的问题,本地文件导入本地服务器就可以,咋回事?困扰我好几天了
吉普赛的歌 2018-04-10
  • 打赏
  • 举报
回复
将 服务的登录 账号改为本地系统账号再试试:

李世铭 2018-04-10
  • 打赏
  • 举报
回复
吉普赛的歌 你太伟大了! 可以使用了。 谢谢!!!
李世铭 2018-04-09
  • 打赏
  • 举报
回复
引用 5 楼 xiaoxiangqing 的回复:
MDAC重新安装一下
MDAC太古老了,没有WIN10版本。
xiaoxiangqing 2018-04-09
  • 打赏
  • 举报
回复
MDAC重新安装一下
李世铭 2018-04-09
  • 打赏
  • 举报
回复
SELECT a.* FROM OPENROWSET( BULK N'e:\Book1.txt',FORMATFILE = 'e:\Book1.fmt') AS a; ------------------------------------- ID Description A B 骂人! A ASD ASD SD SD DE DE W W SELECT * FROM OPENROWSET( BULK 'e:\Book1.csv', SINGLE_CLOB) AS DATA; ------------------------------------ BulkColumn A,B 骂人!,A ASD,ASD SD,SD DE,DE W,W select * from OPENROWSET ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;DATABASE=e:\Book1.xlsx',[sheet1$]) -------------------------------------------- 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "未指定的错误"。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。
李世铭 2018-04-09
  • 打赏
  • 举报
回复
引用 7 楼 mengmou 的回复:
重装一下Microsoft Access Database Engine 2010 Redistributable https://www.microsoft.com/en-US/download/details.aspx?id=13255
试过了,无效!
李世铭 2018-04-09
  • 打赏
  • 举报
回复
经过2小时的再次清理注册表,带SQL字母的能清都清了。 SQL SERVER重装终于成功了。 但是问题依旧: 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "未指定的错误"。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。 换了一台新电脑,安装SQLSERVER和office2010 。重新在微软注册。 居然出现同样问题!!!
二月十六 2018-04-09
  • 打赏
  • 举报
回复
看看是否全部清理了 https://blog.csdn.net/sinat_28984567/article/details/79537592 清理之后可以换个安装包试试
mengmou 2018-04-09
  • 打赏
  • 举报
回复
重装一下Microsoft Access Database Engine 2010 Redistributable https://www.microsoft.com/en-US/download/details.aspx?id=13255
李世铭 2018-04-08
  • 打赏
  • 举报
回复
千万别说从新安装可以解决问题! 一天了! sql已经清理过N便了! 全是坑啊!!!
李世铭 2018-04-07
  • 打赏
  • 举报
回复
问题补充: C#下测试: OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\\Book1.xlsx;Extended Properties = 'Excel 12.0 Xml; HDR = YEs'"); 报错: {"未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。"} 最发现错误竟然是项目设置: 项目设置->生成 的目标平台。 平台目标(G):是Any CPU 或 ×86 都不可以! 必须选×64 ! 说明文件是没问题的,Microsoft.ACE.OLEDB.12.0也可以正常工作。就是在SQL SERVER 环境下哪里不对!

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧