Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
プロシージャからオペレーティングシステムコマンドを実行します。
xp_cmdshell( command [, redir_output | 'no_output' ] )
command システムコマンドを指定する VARCHAR(8000) パラメータ。デフォルトは NULL です。
redir_output 出力をコマンドウィンドウに表示するかどうかを指定する任意の CHAR(254) パラメータ。デフォルトの動作では、出力がコマンドウィンドウに表示されます。'no_output' を指定した場合、コマンドウィンドウには出力は表示されません。デフォルト値は ' ' です。
この関数は INTEGER 終了コードを返します。
xp_cmdshell は、システムコマンドを実行して、制御を元の環境に戻します。xp_cmdshell が返す値は、実行されたシェルプロセスからの終了コードです。子プロセスが起動したときにエラーが発生した場合、戻り値は 2 です。
2 番目のパラメータは、Windows オペレーティングシステムのコマンドラインアプリケーションにのみ影響します。UNIX の場合は、2 番目のパラメータの設定にかかわらず、コマンドウィンドウは表示されません。
Windows Mobile の場合は、2 番目のパラメータの設定にかかわらず、実行したすべてのコマンドがデータベースサーバメッセージログに表示されます。プロシージャを実行するには、コンソールシェル \\windows\cmd.exe が必要です。
SERVER OPERATOR システム権限が必要です。
次の文は、現在のディレクトリにあるファイルをファイル c:\temp.txt 内にリストします。
CALL xp_cmdshell( 'dir > c:\\temp.txt' );
次の文は、同じ処理を実行しますが、[コマンド] ウィンドウは表示されません。
CALL xp_cmdshell( 'dir > c:\\temp.txt', 'no_output' );