日期:2014-05-18  浏览次数:20641 次

Insert openrowset 时出错(导出到Excel)
ABC.xls中的sheet1是一个已有固定格式表头的Sheet,现在要把SQlserver中的表
abc中的数据导入到这个sheet   中

insert   into   openrowset( 'Microsoft.Jet.OLEDB.4.0 ',
    'EXCEL   8.0;HDR=YES;IMEX=1;DATABASE=C:\ABC.xls ',[sheet1$])  
select   a,b,c   from   abc


提示出错:
链接服务器 "(null) "的   OLE   DB   访问接口   "Microsoft.Jet.OLEDB.4.0 "   返回了消息   "不能更新。数据库或对象为只读。 "。
消息   7399,级别   16,状态   1,第   1   行
链接服务器   "(null) "   的   OLE   DB   访问接口   "Microsoft.Jet.OLEDB.4.0 "   报错。提供程序指示用户没有执行该操作的权限。
消息   7343,级别   16,状态   2,第   1   行
链接服务器   "(null) "   的   OLE   DB   访问接口   "Microsoft.Jet.OLEDB.4.0 "   无法   INSERT   INTO   表   "[Microsoft.Jet.OLEDB.4.0] "。

------解决方案--------------------
insert into openrowset( 'Microsoft.Jet.OLEDB.4.0 ',
'EXCEL 8.0;HDR=YES;DATABASE=C:\ABC.xls ',[sheet1$])
select a,b,c from abc

把IMEX=1; 去掉