fahais 2004-12-01 07:13:03
我写了一个存储过程,想在一字符串中代入变量,但就是不能编译,望各位指点
代码:
....
create procedure sp_XXX
@strYearMonth varchar(6),
@strUserName varchar(30),
@strFilePath varchar(200),
...
FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=' + @strFilePath + '',sheet1$
)
...
-----------------------
倒数第二句中如果是
,'Excel 5.0;HDR=YES;DATABASE=D:\CDC\CDC.xls',sheet1$,就行的,
我要把文件路径(D:\CDC\CDC.xls)设置为传入参数,怎么搞???
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanshiyu123 2004-12-02
  • 打赏
  • 举报
回复
可以用动态的文件名

declare @fn varchar(20),@s varchar(1000)
set @fn = 'D:\CDC\CDC.xls'
set @s ='''Microsoft.Jet.OLEDB.4.0'',
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'
exec(@s)
fahais 2004-12-02
  • 打赏
  • 举报
回复
vinsonshen: 你的方法试过了,可是还是报错-"无效的语句"
不明白这里字符变量为什么不能引入
vinsonshen 2004-12-01
  • 打赏
  • 举报
回复
改成这样试试“:

create procedure sp_XXX
@strYearMonth varchar(6),
@strUserName varchar(30),
@strFilePath varchar(200),
...
FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=''' + @strFilePath + '''',sheet1$
)
lmj2003 2004-12-01
  • 打赏
  • 举报
回复
不知道能不能用变量
fahais 2004-12-01
  • 打赏
  • 举报
回复
TOP

34,594

社区成员

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

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