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,结果还是一样
没有办法了,只好发贴求助了。。。。
...全文
75 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsh236 2009-01-13
  • 打赏
  • 举报
回复
把EXCEL 进程关了!
tx_lanlang 2009-01-13
  • 打赏
  • 举报
回复
同意楼上。但是把数据导出EXCEL的方法用EXCEL的QUERY不是更方便吗?还能实时刷新。用{CALL 存贮过程名(?,?,?)}(多少个参数就多少个?)
胖胖的洋葱 2009-01-13
  • 打赏
  • 举报
回复
EXCEL 进程未关闭!~

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧