sql 导入 excel 创建的xls文件有问题
从邹建老师的blog拷贝了数据导出EXCEL的存储过程,
遇到了不少问题,
该存储过程是2003.10的版本
而我用的sql2005的版本
通过
sp_configure 'show advanced options', 1;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
EXEC sp_configure 'show advanced options', 1
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
把一些配置打开才行,这个问题估计是很常见,搜索了N张贴都没有补充这东西,奇怪
更奇怪的问题在后面
例如执行存储过程
EXEC p_exporttb ' select TOP 1000 * from car ', 'C:\temp\','test.xls','test'
生成的test.xls 没有数据,就连一张工作表都没有,文件的大小仅为6k,
新建一个xls文件都已经15k了,而且还是被使用着,无法删除改文件
够郁闷的
于是我就单独执行
declare @obj INT
declare @err int
exec @err=sp_oacreate 'adodb.connection',@obj out
DECLARE @constr nvarchar(1000)
DECLARE @sql nvarchar(1000)
SET @sql='c:\temp\test.xls'
set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES;DATABASE='+@sql+'"'
exec @err=sp_oamethod @obj,'open',null,@constr
也提示命令已成功完成
对应的test.xls也是被某些程序使用着,没有数据,而且无法删除。。
由于是ntfs的格式,于是把temp的权限改为everyone,结果还是一样
没有办法了,只好发贴求助了。。。。