sql server OpenDataSource查询excel数据
SELECT
*
FROM
OpenDataSource(
'Microsoft.ACE.OLEDB.12.0'
,
'Data Source="d:\test.xlsx";Extended properties=Excel 12.0'
)...[sheet1$]
1、错误提示:尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。
回答:去AccessDatabaseEngine.exe下载。然后安装就行了
2、错误提示1:
-- 启用:
exec
sp_configure
'show advanced options'
,1
reconfigure
exec
sp_configure
'Ad Hoc Distributed Queries'
,1
reconfigure
--使用完毕后,记得要关闭它,因为这是一个安全隐患
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
2、错误提示2:关于【无法创建链接服务器 "(null)" 的 OLE DB 访问接口
开启以下:
--允许在进程中使用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
需要重新启动机器
需要重新启动机器
需要重新启动机器
需要重新启动机器
3、如果出现该错误:
链接服务器"(null)"的 OLE DB 访问接口 "microsoft.ace.oledb.12.0" 返回了消息 "Microsoft Access 数据库引擎无法打开文件“C:\Users\SH\Desktop\其它资料\程志杰\财务处理\闻喜\闻喜县机构代码.xls”或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的权限。"。
解决方法:则说明该目录,没有写的权限 ,增加写的权限就可以了。