关于【无法创建链接服务器 "(null)" 的 OLE DB 访问接口
SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASC" 的实例。
. 此错误主要是在使用代码读取数据时发生:
insert into 数据库表名
select * from OpenDataSource ('Microsoft.Ace.OLEDB.12.0','Data Source="d:\Excel表名.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]
. 使用“导入工具”读取Excel时,不会发生此报错。
. 方法:将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem就可以了,但是困扰了我很久,在此留个记录备用,同时也帮助那些和我一样碰到这个头疼问题的战士们。
. 登陆身份的修改:在配置管理器重操作。
根据excel表格中的内容更新数据库
update Tuser set EmAdd=a.em
from (select * from OPENDATASOURCE(
'Microsoft.Ace.OleDb.12.0',
'Extended Properties="Excel 12.0;HDR=YES;IMEX=1";Data Source="D:\em.xls"'
)...[Sheet1$] ) a where Tuser.id=a.id
将excel表格中的内容插入到数据库
insert into test (name,re,jj)
select * from OpenDataSource(
'Microsoft.Ace.OleDb.12.0',
'Extended Properties="Excel 12.0;HDR=YES;IMEX=1";Data Source="D:\em.xls"'
)...[Sheet2$]