OSQL 一点小问题.谢谢!

zoulipeng 2005-07-06 12:10:28
declare @s as varchar(8000)
set @s=' use master
declare @Data_Path as varchar(100),@Log_Path as varchar(100)
select @Data_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''MDF'',filename)>0
select @Log_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''LDF'',filename)>0
RESTORE DATABASE water FROM DISK = ''c:\water.bak'' with replace, move ''water_Data'' to @Data_Path,
move ''water_Log'' to @Log_Path '

以上@s 没有问题,调用的实话,就出问题,不是这么用的吗?

master..xp_cmdShell 'osql -U"sa" -P -S"127.0.0.1" -Q '+@s+' '
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoulipeng 2005-07-06
  • 打赏
  • 举报
回复
Tanks 我试试!
WangZWang 2005-07-06
  • 打赏
  • 举报
回复
-- 最后一句改为:
exec('master..xp_cmdShell ''osql -U"sa" -P -S"127.0.0.1" -Q '''+@s+' ')
vivianfdlpw 2005-07-06
  • 打赏
  • 举报
回复
declare @s as varchar(8000)
set @s=' use master
declare @Data_Path as varchar(100),@Log_Path as varchar(100)
select @Data_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''MDF'',filename)>0
select @Log_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''LDF'',filename)>0
RESTORE DATABASE water FROM DISK = ''c:\water.bak'' with replace, move ''water_Data'' to @Data_Path,
move ''water_Log'' to @Log_Path '
set @s=''osql -U"sa" -P -S"127.0.0.1" -Q '''+@s+' '
exec master..xp_cmdshell @s

34,576

社区成员

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

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