各位帮我看看这句话

Teng_s2000 2006-07-20 03:02:13
在网上看到这样一句话:
declare @a datetime
set @a=getdate()
EXEC master..xp_cmdshell 'bcp northwind.dbo.Customers out c:\001.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'

GO
现在我想着用变量@a代替001做文件夹,怎么试验也不行,哪位大虾帮我写一下。
出结果就结帐
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoumins 2006-07-20
  • 打赏
  • 举报
回复
declare @a varchar(100)
declare @b varchar(100)

set @a='bcp northwind.dbo.Customers out c:\'
set @b=convert(varchar(10),getdate())
set @b=replace(@b,' ','')
set @a=@a+@b+'.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'

print @a
exec master..xp_cmdshell @a
Teng_s2000 2006-07-20
  • 打赏
  • 举报
回复
语法应该与sql版本没关系吧
我在2005上运行的
Teng_s2000 2006-07-20
  • 打赏
  • 举报
回复
1.lxzm1001(*蓝星之梦*) ( ) 信誉:100 :

消息 102,级别 15,状态 1,第 48 行
'.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'' 附近有语法错误。
2.fcuandy(边打魔兽边回贴) ( ) 信誉:100
第一短代码也有错误
消息 102,级别 15,状态 1,第 46 行
'+' 附近有语法错误。
fcuandy 2006-07-20
  • 打赏
  • 举报
回复
EXEC master..xp_cmdshell 'bcp northwind.dbo.Customers out c:\' + CONVERT(VARCHAR(10),GETDATE(),112) + '.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'

或者

EXEC master..xp_cmdshell 'bcp northwind.dbo.Customers out c:\' + CONVERT(VARCHAR(10),@a,112) + '.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'

这样不行?
lxzm1001 2006-07-20
  • 打赏
  • 举报
回复
declare @a datetime
set @a=getdate()
EXEC('master..xp_cmdshell ''bcp northwind.dbo.Customers out c:\'+@a+'.xls -c -q -S"192.168.2.3" -U"sa" -P"imd2006"'''

34,590

社区成员

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

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