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 使用此 CHAR(8000) 参数指定一个系统命令。
redir_output 使用此可选 CHAR(254) 参数指定是否在命令窗口显示输出。缺省行为为在命令窗口显示输出。如果指定 'no_output',命令窗口将不显示输出。
xp_cmdshell 执行系统命令,然后将控制返回给调用环境。由 xp_cmdshell 返回的值是所执行的 shell 进程的退出代码。如果在开始子进程时发生错误,返回值为 2。
第二个参数只影响 Windows 操作系统上的命令行应用程序。对于 Unix,无论如何设置第二个参数,都不显示任何命令窗口。
但对于 Windows Mobile,无论如何设置第二个参数,执行的任何命令都会在数据库服务器消息日志中显示。运行该过程时需要控制台 shell \\windows\cmd.exe。
DBA 特权
以下语句列出文件 c:\temp.txt 中当前目录下的文件:
CALL xp_cmdshell( 'dir > c:\\temp.txt' );
以下语句执行相同的操作,但在执行时不显示 [命令] 窗口。
CALL xp_cmdshell( 'dir > c:\\temp.txt', 'no_output' );