sql 导入 excel 创建的xls文件有问题

djfemg 2008-12-18 12:19:19
从邹建老师的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,结果还是一样
没有办法了,只好发贴求助了。。。。
...全文
34 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wsh236 2009-01-13
把EXCEL 进程关了!
回复
tx_lanlang 2009-01-13
同意楼上。但是把数据导出EXCEL的方法用EXCEL的QUERY不是更方便吗?还能实时刷新。用{CALL 存贮过程名(?,?,?)}(多少个参数就多少个?)
回复
jarryzhong 2009-01-13
EXCEL 进程未关闭!~
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2008-12-18 12:19
社区公告
暂无公告