日期:2014-05-18  浏览次数:20712 次

在bat文件中,如何通过SqlCmd执行sql返回到一个变量中
我在bat文件有一些SqlCmd,如下
SqlCmd   /E   /S   (local)   /Q   "EXIT(SET   ANSI_NULLS   ON   SET   ANSI_WARNINGS   ON   SET   CONCAT_NULL_YIELDS_NULL   ON   SET   ANSI_PADDING   ON   SET   ARITHABORT   ON   exec   dbo.P_RefreshData) "

我想能执行一个比如   select   path   from   setting   where   id   =   1
返回的数据赋给一定义的变量
set   path=  

然后我就能
rd   /s   /q   "%path% "

基本就是通过bat文件,读取数据库配置得到一个路径,通过rd命令,建立文件夹。

------解决方案--------------------
用vbs调用批处理,应该可行
------解决方案--------------------
反过来试试怎么样?
在SQL中建立一个存储过程,该存储过程会写入一些东西到一个BAT文件中,然后执行该BAT文件?
调用时通过SQLCMD调用这个存储过程,然后执行生成的bat?
------解决方案--------------------
isqlw -S machine -d database -U sa -P 888

另一个思路。做个参考。 -i -o 参数可以使用txt文件里的sql语句。-o输出结果。