【问题标题】:MS SQL 2000 - Parameters in DTSRUN using xp_cmdshellMS SQL 2000 - 使用 xp_cmdshell 在 DTSRUN 中的参数
【发布时间】:2008-11-20 19:26:58
【问题描述】:
我正在运行以下命令:
master..xp_cmdshell 'dtsrun /S ricmssql02 /U admindw /P letmein /N "scott - debug"'
还要发送参数。我看到以下内容可以做到这一点:
/A global_parameter_name:typeid=value
而且整个事情可以重复发送多个。
我的问题是;多个的分隔符是什么? typeid 的值是什么,或者我什至需要它?
【问题讨论】:
标签:
sql-server
xp-cmdshell
【解决方案1】:
虽然没有它 DTSRUN 通常也可以工作,但 typeid 的值如下:
Data type Type ID
-----------------
Integer (small) 2
Integer 3
Real (4-byte) 4
Real (8-byte) 5
Currency 6
Date 7
String 8
Boolean 11
Decimal 14
Integer (1-byte) 16
Unsigned int (1-byte) 17
Unsigned int (2-byte) 18
Unsigned int (4-byte) 19
Integer (8-byte) 20
Unsigned int (8-byte) 21
Int 22
Unsigned int 23
HRESULT 25
Pointer 26
LPSTR 30
LPWSTR 31
我不确定您所说的“多个分隔符”是什么意思 - 您需要为要替换的每个变量都有一个 /A。因此,如果您想在示例中设置三个字符串变量:
master..xp_cmdshell 'dtsrun /S ricmssql02 /U admindw /P letmein /N "scott - debug" /A "param1:8=string 1" /A "param2:8=string 2" /A "param3:8=string 3"'