日期:2014-05-19  浏览次数:20510 次

sql2005向Excel导出数据,郁闷死了
insert   into   OpenRowSet( 'microsoft.jet.oledb.4.0 ', 'Excel   8.0;hdr=yes;database=e:\book1.xls; ', 'select   *   from   [Sheet1$] ')(vti_id)
select   vti_id   from   vote.vote_title_info

报错如下:
消息   7399,级别   16,状态   1,第   1   行
链接服务器   "(null) "   的   OLE   DB   访问接口   "microsoft.jet.oledb.4.0 "   报错。提供程序未给出有关错误的任何信息。
消息   7303,级别   16,状态   1,第   1   行
无法初始化链接服务器   "(null) "   的   OLE   DB   访问接口   "microsoft.jet.oledb.4.0 "   的数据源对象。

没办法了,哪位大哥帮帮忙吧

------解决方案--------------------

--注意,执行SQL时,先关闭bool1这个文件,否则提示错误。

select *
from openrowset( 'Microsoft.JET.OLEDB.4.0 ', 'Excel 5.0;hdr=yes;Database=e:\book1.xls ', 'select * from [Sheet1$] ')


--或

select *
from openrowset( 'Microsoft.JET.OLEDB.4.0 ', 'Excel 5.0;hdr=yes;Database=e:\book1.xls ',[Sheet1$])



------解决方案--------------------
是想往excel里面插入数据吧?
insert into
OpenRowSet( 'Microsoft.JET.OLEDB.4.0 ', 'Excel 8.0;hdr=yes;database=e:\book1.xls; ', 'select * from [Sheet1$] ')
(vti_id)
select vti_id from vote.vote_title_info
貌似不成,试试
--
EXEC master..xp_cmdshell 'bcp "select vti_id from db.vote.vote_title_info " queryout e:\book1.xls -c -U "sa " -P "pwd " -t " " '
------解决方案--------------------
是因為vti_id 中有null的值造成的
這樣試試:
insert into OpenRowSet( 'microsoft.jet.oledb.4.0 ', 'Excel 8.0;hdr=yes;database=e:\book1.xls; ', 'select * from [Sheet1$] ')(vti_id)
select isnull(vti_id, '99999 ') from vote.vote_title_info