我有一个 MS SQL 2005 存储过程,其中包含一个输出参数。如何从 DOS 批处理文件中调用此存储过程并获取输出参数的值?我知道我必须使用 sqlcmd,但找不到任何可以在其中传递输出参数并在 DOS 批处理文件中访问其值的内容。
谢谢 vikram
谢谢 vikram
首先,我会使用out宏语句将输出定向到标准输出(stdout):
: out stdout
一旦您在stdout中输出了内容,您可以使用DOS命令将其定向到您在DOS中设置的变量。 stdout是DOS中的句柄1。
我能想到可能会导致失败的一个问题是如果其他项目混杂在stdout中。我不想解析大量垃圾。
sqlcmd -b -S %COMPUTERNAME% -E -d %DBNAME% -Q "exec getXMLLocation;" -h-1
-o SearchResult.txt
set /p URI=<SearchResult.txt
@echo The XML file URI is: %URI%