使用导入导出到excel时报错,问题在哪儿呢?

earthpea 2009-05-27 11:32:11
在使用邹建老师的导出到EXCEL的存储过程时,老是报错,查了半天也找不到是为什么,麻烦大家帮看一眼。
...全文
194 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_shli 2009-06-05
  • 打赏
  • 举报
回复
excel 文件是不是已经被打开了??
或者文件路径不对?
yingzhilian2008 2009-06-05
  • 打赏
  • 举报
回复

EXEC sp_configure 'show advanced option', '1'
reconfigure
加这个试试
earthpea 2009-06-04
  • 打赏
  • 举报
回复
没有成功,一次也没有成功过。
aqua_w 2009-06-04
  • 打赏
  • 举报
回复
如果第一次执行成功,第二次执行需要改文件名或者sheet名字
earthpea 2009-06-03
  • 打赏
  • 举报
回复
我的已经是sql server 2005 sp3了,还需要打什么补丁呢?谢谢
aqua_w 2009-06-02
  • 打赏
  • 举报
回复
给数据库打个补丁,就好了,到msdn下载
appleller 2009-06-02
  • 打赏
  • 举报
回复
earthpea 2009-05-31
  • 打赏
  • 举报
回复
大家端午节过的怎么样吗?帮偶看看这个问题嘛,呵呵
earthpea 2009-05-27
  • 打赏
  • 举报
回复
邹建老师的代码请参见:
http://blog.csdn.net/zjcxc/archive/2003/12/29/20084.aspx

我的代码:
exec p_export2xls @sqlstr='select * from employee'
,@path='c:\',@fname='aac.xls',@sheetname='emp_2009'

报错信息如下:
错误号 错误源 错误描述
0x80004005 Microsoft JET Database Engine 未指定的错误

连接字串:
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES;DATABASE=c:\aac.xls"
  • 打赏
  • 举报
回复
还是看不到,贴代码吧
earthpea 2009-05-27
  • 打赏
  • 举报
回复
已经安装了OFFICE 2003了,正常使用没有问题
另:如果图片出不来,麻烦点一下右键“显示图片”,我也不知道是什么原因,呵呵
earthpea 2009-05-27
  • 打赏
  • 举报
回复
不好意思,好像图册有点问题,再贴一次图
报“0x80004005 Microsoft JET Database Engine 未指定的错误”
sdhdy 2009-05-27
  • 打赏
  • 举报
回复
你的机器上装OFFICE了吗?
htl258_Tony 2009-05-27
  • 打赏
  • 举报
回复
看不到图,参考:
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

2、将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

3、将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------

4、在SQL SERVER里往Excel插入数据:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
-------------------------------------------------------------------------------------------------
王向飞 2009-05-27
  • 打赏
  • 举报
回复
帮顶
earthpea 2009-05-27
  • 打赏
  • 举报
回复
补充:
直接使用以下语句也报错

select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)


报错信息:

链接服务器"(null)"的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 2 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。
通达报表组件2009版修正合集 - 更新历史记录 更新版本:3.0.0.12 更新间:2009-07-24 更新内容: 1.修正新建表单,多选单元格至区域外侧,屏幕"假死"现象。 更新版本:3.0.0.11 更新间:2009-07-20 更新内容: 1.修正明细表最后一条记录无法保存问题。 更新版本:3.0.0.10 更新间:2009-07-15 更新内容: 1.设计模板模块,解决无法批量打开选中模板; 2.删除模板分类如果分类下存在模板未创建数据表报错问题; 3.修复按列向右扩展问题; 4.修复日期类型数据自动筛选报错问题; 5.修复日期型数据未填再次编辑报错问题; 6.背景色默认成白色; 7.填报内容改成查阅内容; 8.无权访问明细不占显示行位置; 9.修复双击单元格慢的问题; 10.修复必填项未填保存不予提示问题; ============================================ 通达报表 - Report Anything 富有竞争力的技术特性 1、与通达OA紧密集成 保持通达OA的界面风格、操作习惯以及权限控制机制,并且共用通达OA的组织机构、角色以及用户等信息,因此通达OA用户可以迅速上手。 2、从模版的设计到数据的填写、审核、汇总等所有操作都是客户端浏览器中完成,无需其他额外应用软件的支持。 3、开创导入导出Excel模板功能,之前利用MS Excel设计的模板、公式等直接可以导入到系统中来,最大限度地重用了以前的工作成果。 4、模板设计风格与MS Excel完全一致,因此使用过MS Excel的用户直接就可以使用系统最为复杂的模块——模版设计器,无需或者只需最少量的系统实操培训。 5、采用数据库服务器来管理数据,所有填报的数据都进入数据库中,为后期高效率地处理大批量的数据打下基础。 6、支持用户自定义多级别分类模式,分类的标准既可以是报表的使用用途、所属行业、也可以是填报周期。 7、支持多层次、多级别权限控制机制,确保报表数据安全、不泄密。 8、支持流程自定义设计。“表单”+“流程”的设计理念,使其突破传统报表概念范畴而成为一个信息系统设计和实现平台,借助于这个平台各企事业单位的管理人员和各岗位的工作人员能够设计和实现符合自己需要的基于B/S架构的管理信息系统。 9、支持对OA数据挖掘功能。利用报表系统,广大OA使用者可以从OA数据库中挖掘出更多有价值的信息,使自己的OA系统得到实实在在的增值。 10、支持精确打印。利用系统内置得打印引擎,可以精确打印图文并茂的报表、图表。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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