用变量代替"C:\yd.xls"文件路径,100分相送!
请看下面SQL语句,这是从外部Excel导入数据的SQL语句:
select * into abb FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\yd.xls";
Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$');
现在我想做一个存储过程如下:
create proc ExcelInport
@ExcelFilePart varchar(100)
as
select * into abb FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="@ExcelFilePart";
Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$');
在这过程中,我用了变量取替C:\yd.xls,但通不过,是否有写错?请各位帮帮忙.谢谢!
问题点数:100、回复次数:5Top
1 楼lw1a2(一刀 现在改六点下班了:()回复于 2006-01-06 10:31:57 得分 0
create proc ExcelInport
@ExcelFilePart varchar(100)
as
declare @sql
select @sql='select * into abb FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@ExcelFilePart+'";
Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False'')...sheet1$'')'
exec(@sql)
Top
2 楼lw1a2(一刀 现在改六点下班了:()回复于 2006-01-06 10:32:11 得分 30
create proc ExcelInport
@ExcelFilePart varchar(100)
as
declare @sql varchar(2000)
select @sql='select * into abb FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@ExcelFilePart+'";
Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False'')...sheet1$'')'
exec(@sql)Top
3 楼WangZWang(先来)回复于 2006-01-06 10:35:37 得分 35
--最好写成这样
create proc ExcelInport
@ExcelFilePart varchar(100),
@FileName varchar(100)
as
exec('
if exists(select * from sysobjects where id=object_id(''abb'') and xtype=''U'')
drop table abb
select * into abb FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@ExcelFilePart+'";
Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False'')...'+@FileName)
go
--调用
exec ExcelInport 'C:\yd.xls','sheet1$'Top
4 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-01-06 10:49:22 得分 35
CREATE PROCEDURE readexceldata
@filename varchar(200), --Excel文件名
@exceltablename varchar(20), --EXcel内表名
@tablename varchar(200) --将要存在数据库里的表名
as
declare @sql varchar(1000)
set @sql=' insert into '+@tablename+
' SELECT * '+
' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source='+@filename+
';User ID=Admin;Password=;Extended properties=Excel 5.0;HDR=yes;imex=1'')...['+@exceltablename+']'
exec(@sql)
go
Top
5 楼agtnti12(项林)回复于 2006-01-06 18:06:07 得分 0
楼上的各位,你们真是太棒了,立刻给分Top




