1 .执行sqlsever存储过程,消息:
SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“Ad Hoc Distributed Queries”。有关启用“Ad Hoc Distributed Queries”的详细信息,请搜索 SQL Server 联机丛书中的“Ad Hoc Distributed Queries”。
启动:
<code>
exec sp_configure ‘show advanced options’,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries’,1
reconfigure
</code>
使用完毕后,记得一定要要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句.
<code>
exec sp_configure ‘Ad Hoc Distributed Queries’,0
reconfigure
exec sp_configure ‘show advanced options’,0
reconfigure
</code>
允许在进程中使用ACE.OLEDB.12
<code>
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’AllowInProcess’, 1 </code>
允许动态参数
<code>EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′, N’DynamicParameters’, 1</code>
2 .关于无法创建链接服务器 “(null)” 的 OLE DB 访问接口
SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 “(null)” 的 OLE DB 访问接口 “MSDASC” 的实例。
- . 此错误主要是在使用代码读取数据时发生:
<code>
insert into 数据库表名 select * from OpenDataSource (‘Microsoft.Ace.OLEDB.12.0’,’Data Source=”d:\Excel表名.xlsx”;Extended properties=”Excel 12.0;HDR=Yes”‘)…[sheet1$]</code>
或者
<code>
select * into 单品流量数据 from OpenDataSource (‘Microsoft.Ace.OLEDB.12.0’,’Data Source=”E:\sqlsever读取excel\单品流量数据.xlsx”;Extended properties=”Excel 12.0;HDR=Yes”‘)…[单品流量数据$]
</code> - . 使用“导入工具”读取Excel时,不会发生此报错。
- . 方法:将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem就可以了,但是困扰了我很久,在此留个记录备用,同时也帮助那些和我一样碰到这个头疼问题的战士们。
- . 登陆身份的修改:在配置管理器重操作。