怎样将EXCEL数据表,用存储过程导入到SQL SERVER 数据库中?

fionazou 2006-11-03 11:04:51
我的EXCEL数据文件(d:/excelFile.xls)是下面这样的:
partno units spanel sunit
24C4005A0 U 0 2
2105012C1 U 0 3

key partno units spanel sunit indate

要求把EXCEL数据导到SQL SERVE表(erpQty)中,用存储过程实现,谢谢了!


...全文
342 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dulei115 2006-11-03
  • 打赏
  • 举报
回复
要不就是当前用户没有使用该表的权限,语法是对的,LZ可以select一个新建excel文件试试,问题应该就出在Excel文件上
fionazou 2006-11-03
  • 打赏
  • 举报
回复
斑竹帮帮我啊!
fionazou 2006-11-03
  • 打赏
  • 举报
回复
有啊,就是工作表名啊,我没改名.
dulei115 2006-11-03
  • 打赏
  • 举报
回复
不包含表 'Sheet1$'。该表可能不存在

----------------------------
LZ的excel文件中有没有Sheet1???
fionazou 2006-11-03
  • 打赏
  • 举报
回复
我是这样写的:
insert into erpchangeqty (partno,units,spanel,sunit)
select *
from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\excelFile.xls";Extended properties=Excel 5.0') ... Sheet1$

但出错:
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不包含表 'Sheet1$'。该表可能不存在,或当前用户没有使用该表的权限。
OLE DB 错误跟踪[Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='Sheet1$']。

请问这是什么问题???谢谢!

dulei115 2006-11-03
  • 打赏
  • 举报
回复
insert into tablename
select *
from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="Excel全文件名";Extended properties=Excel 5.0')...Sheet名后面加$,例如Sheet1$
where ...
fionazou 2006-11-03
  • 打赏
  • 举报
回复
出现下面的错误信息:
OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'MICROSOFT.JET.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
liuyinbo0109 2006-11-03
  • 打赏
  • 举报
回复
SELECT *
INTO erpQty
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','EXCEL 5.0;DATASOURCE=Excel文件地址;HDR=Yes;',[sheet1$])
或者直接用DTS

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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