CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

用变量代替"C:\yd.xls"文件路径,100分相送!

楼主agtnti12(项林)2006-01-06 10:20:17 在 MS-SQL Server / 基础类 提问

请看下面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

相关问题

  • 文件路径如:c:\winnt\system32\用什么变量储存
  • C:\winnt\system32系统路径的系统变量是什么?
  • Help,如何用SQL取得存放数据的路径变量?C:\Program Files\Microsoft SQL Server\MSSQL\Data呢?
  • c++中变量类型
  • VB\C\C++中的变量初始化
  • 路径问题(c语言)
  • c中的路径问题。
  • 为什么不能从环境变量PATH中删除路径?
  • 在线求救:关于路径和变量的问题
  • 如何动态输出文件夹路径变量?

关键词

  • hdr
  • excel
  • security
  • source
  • microsoft
  • sql
  • excelfilepart
  • xls
  • opendatasource
  • sheet1

得分解答快速导航

  • 帖主:agtnti12
  • lw1a2
  • WangZWang
  • zlp321002

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo