2011-07-14 15 views
3

私は、outパラメータを取るMS SQL 2005ストアドプロシージャを持っています。どのように私はdosのバッチファイルからこれを呼び出すことができ、outパラメータの値を取得できますか?私はsqlcmdを使用しなければならないことを知っていますが、そこでは、私がoutパラメータを渡してdosバッチファイルにその値にアクセスできるanytingを見つけることができません。dosバッチファイルからSQL SPを呼び出します

おかげDOSで ビクラム

答えて

0

私は標準のT-SQLでこのようなことをしていますが、ストアドプロシージャを編集して1行の結果セットを表示すると、このようなことが起きる可能性があります。

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% 
0

は、あなたが標準出力に返されたすべての情報を取得しますが、あなたはこれを簡単に操作することはできません。これはDOSですか? PowerShellは、PowerShellでより多くの機能を備えています(コマンドプロンプトで表示するだけでなく、この値を保存する必要がある場合は、WSHでもDOS用のより良いオプションです)。

コメントに基づいてこれを追加するには、DOSでなければなりません。ここに私の考えです:


まず、私はstdoutに指示して、マクロのステートメントを使用します。

: out stdout 

あなたが標準出力に出力を持っていたら、DOSを使用することができ、変数にそれを指示するためのコマンドあなたはDOSでセットアップしました。 stdoutはDOSのハンドル1です。

これが失敗するかもしれない1つの問題は、他のアイテムが標準出力を乱雑にしている場合です。私はたくさんのジャンクを解析したくありません。

+0

お返事ありがとうございます。それはシステムの残りの部分がDOSにあるので、DOSでなければなりません。理想的には、返された値をdos変数に取り込み、その上でいくつかのチェックを行うことができます。 – Vikram

関連する問題