如何使用存儲過程執行DTS包

noheartfly 2003-08-26 09:03:18
我建立了一個DTS包, 用來倒出EXCEL資料, 確不知道如何使用存儲過程去調用這個DTS包, 各位大俠誰有好辦法啊.
我使用的是SQL7.0的版本.
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
noheartfly 2003-08-26
  • 打赏
  • 举报
回复
在程序中執行通過, 可是結果確是一片空白, dts包沒有實際的執行, excel檔案沒有產生, 這是為什麼呢?
pengdali 2003-08-26
  • 打赏
  • 举报
回复
dtsrun /F"e:\web\wwwroot\sunhing\sqlserver\toolsdepart.dts" /Ntoolsdepart
dtsrun /F"e:\web\wwwroot\sunhing\sqlserver\toolsinfor.dts" /Ntoolsinfor

若要执行保存为 COM 结构化存储文件的 DTS 包,请使用:

dtsrun /Ffilename /Npackage_name /Mpackage_password

若要执行保存在 SQL Server msdb 数据库中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password

若要执行保存在 Meta Data Services 中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Mpackage_password /Rrepository_name

--------------------------------------------------------------
dtsrun 实用工具
dtsrun 实用工具执行用数据转换服务 (DTS) 创建的包。DTS 包可存储在 Microsoft® SQL Server™ 2000 msdb 数据库、COM 结构化存储文件或 SQL Server Meta Data Services 中。

语法
dtsrun
[/?]|
[
[
/[~]S server_name[\instance_name]
{ {/[~]U user_name [/[~]P password]} | /E }
]
{
{/[~]N package_name }
| {/[~]G package_guid_string}
| {/[~]V package_version_guid_string}
}
[/[~]M package_password]
[/[~]F filename]
[/[~]R repository_database_name]
[/A global_variable_name:typeid=value]
[/L log_file_name]
[/W NT_event_log_completion_status]
[/Z] [/!X] [/!D] [/!Y] [/!C]
]

参数/?

显示命令提示选项。

~

指定接下来的参数采取十六进制文本表示加密的参数值。可以和 /S、/U、/P、/N、/G、/V、/M、/F 和 /R 选项一起使用。使用加密的值增加了用于执行 DTS 包的命令的安全性,因为服务器名称、密码等等都不可见。使用 /!Y 确定加密的命令。

/S server_name[\instance_name]

指定要连接到的 SQL Server 实例。指定用于连接到该服务器上的 SQL Server 默认实例的 server_name。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_name\instance_name。

/U user_name

是用于连接到 SQL Server 实例的登录 ID。

/P password

是同登录 ID 一起使用的用户指定的密码。

/E

指定信任连接(不需密码)。

/N package_name

当创建 DTS 包时为包所指派的名称。

/G package_guid_string

当创建 DTS 包时指派给它的包 ID。该包 ID 是 GUID。

/V package_version_guid_string

当第一次保存或执行 DTS 包时指派给它的版本 ID。每次修改 DTS 包时都指派给它新的版本 ID。该版本 ID 是 GUID。

/M package_password

当创建 DTS 包时指派给它的可选密码。

/F filename

包含 DTS 包的结构化存储文件的名称。如果也指定了 server_name,则执行从 SQL Server 中检索到的 DTS 包并且将该包添加到结构化存储引擎。

/R repository_database_name

包含 DTS 包的知识库数据库名称。如果没有指定名称,则使用默认的数据库名称。

/A global_variable_name:typeid=value

指定一个包全局变量,其中 typeid = 全局变量数据类型的类型标识符。可以引用整个参数字符串。该参数可重复使用以指定多个全局变量。有关全局变量的各种可用类型标识符的信息,请参见注释部分。

若要使用该命令开关设置全局变量,必须有包的所有者权限或者该包必须已在未启用 DTS 密码保护的状态保存。如果没有所有者权限,可以指定全局变量,但是所用的值将是设置在包中的值,而不是那些用 /A 命令开关指定的值。

/L log_file_name:

指定包日志文件的名称。

/W Windows_Event_Log

指定是否在 Windows 应用程序日志中写入包执行的完成状态。指定 True 或 False。

/Z

指示使用 SQL Server 2000 加密对 dtsrun 命令行进行加密。

/!X

阻塞选定 DTS 包的执行。当想要无须执行包便能创建加密的命令行时,使用该命令参数。如果未指定此选项,则将立即执行 DTS 包。

/!D

从 SQL Server 实例中删除 DTS 包。将不执行此包。从结构化存储文件中删除特定的 DTS 包是不能实现的。需要使用 /F 和 /S 选项重写整个文件。

/!Y

显示用于执行 DTS 包的加密命令,但不执行该命令。

/!C

将用于执行 DTS 包的命令复制到 Microsoft Windows® 剪贴板上。此选项也可与 /!X 和 /!Y 一起使用。
CrazyFor 2003-08-26
  • 打赏
  • 举报
回复
exec master..xp_cmdshell 'dtsrun ....'
------------------

命令提示实用工具

dtsrun 实用工具
dtsrun 实用工具执行用数据转换服务 (DTS) 创建的包。DTS 包可存储在 Microsoft® SQL Server™ 2000 msdb 数据库、COM 结构化存储文件或 SQL Server Meta Data Services 中。

语法
dtsrun
[/?]|
[
[
/[~]S server_name[\instance_name]
{ {/[~]U user_name [/[~]P password]} | /E }
]
{
{/[~]N package_name }
| {/[~]G package_guid_string}
| {/[~]V package_version_guid_string}
}
[/[~]M package_password]
[/[~]F filename]
[/[~]R repository_database_name]
[/A global_variable_name:typeid=value]
[/L log_file_name]
[/W NT_event_log_completion_status]
[/Z] [/!X] [/!D] [/!Y] [/!C]
]

参数/?

显示命令提示选项。

~

指定接下来的参数采取十六进制文本表示加密的参数值。可以和 /S、/U、/P、/N、/G、/V、/M、/F 和 /R 选项一起使用。使用加密的值增加了用于执行 DTS 包的命令的安全性,因为服务器名称、密码等等都不可见。使用 /!Y 确定加密的命令。

/S server_name[\instance_name]

指定要连接到的 SQL Server 实例。指定用于连接到该服务器上的 SQL Server 默认实例的 server_name。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_name\instance_name。

/U user_name

是用于连接到 SQL Server 实例的登录 ID。

/P password

是同登录 ID 一起使用的用户指定的密码。

/E

指定信任连接(不需密码)。

/N package_name

当创建 DTS 包时为包所指派的名称。

/G package_guid_string

当创建 DTS 包时指派给它的包 ID。该包 ID 是 GUID。

/V package_version_guid_string

当第一次保存或执行 DTS 包时指派给它的版本 ID。每次修改 DTS 包时都指派给它新的版本 ID。该版本 ID 是 GUID。

/M package_password

当创建 DTS 包时指派给它的可选密码。

/F filename

包含 DTS 包的结构化存储文件的名称。如果也指定了 server_name,则执行从 SQL Server 中检索到的 DTS 包并且将该包添加到结构化存储引擎。

/R repository_database_name

包含 DTS 包的知识库数据库名称。如果没有指定名称,则使用默认的数据库名称。

/A global_variable_name:typeid=value

指定一个包全局变量,其中 typeid = 全局变量数据类型的类型标识符。可以引用整个参数字符串。该参数可重复使用以指定多个全局变量。有关全局变量的各种可用类型标识符的信息,请参见注释部分。

若要使用该命令开关设置全局变量,必须有包的所有者权限或者该包必须已在未启用 DTS 密码保护的状态保存。如果没有所有者权限,可以指定全局变量,但是所用的值将是设置在包中的值,而不是那些用 /A 命令开关指定的值。

/L log_file_name:

指定包日志文件的名称。

/W Windows_Event_Log

指定是否在 Windows 应用程序日志中写入包执行的完成状态。指定 True 或 False。

/Z

指示使用 SQL Server 2000 加密对 dtsrun 命令行进行加密。

/!X

阻塞选定 DTS 包的执行。当想要无须执行包便能创建加密的命令行时,使用该命令参数。如果未指定此选项,则将立即执行 DTS 包。

/!D

从 SQL Server 实例中删除 DTS 包。将不执行此包。从结构化存储文件中删除特定的 DTS 包是不能实现的。需要使用 /F 和 /S 选项重写整个文件。

/!Y

显示用于执行 DTS 包的加密命令,但不执行该命令。

/!C

将用于执行 DTS 包的命令复制到 Microsoft Windows® 剪贴板上。此选项也可与 /!X 和 /!Y 一起使用。


注释
如果未指定任何命令行开关、指定了错误的命令行开关或者命令语句包含语法错误,dtsrun 将返回错误信息及用法说明。如果在命令行中输入不带命令行开关的 dtsrun,则将启动 DTS 运行实用工具。

在命令开关和值之间的空格是可选的。值中嵌入的空格必须嵌入双引号之间。

如果多次指定某个选项,则最后一个为优先。/A 命令开关是个特例。指定多个 /A 开关将创建多个全局变量。

当使用 /A 命令开关指定全局变量时,必须使用类型标识符指明全局变量的数据类型。

正斜线后的 ~ 字符(例如 /~Z)表示参数值已加密,并且后跟加密值的十六进制文本。

下表显示全局变量数据类型及其 ID。


数据类型 类型 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


有关此实用工具位置和运行方式的信息,请参见命令提示实用工具入门。

示例
若要执行保存为 COM 结构化存储文件的 DTS 包,请使用:

dtsrun /Ffilename /Npackage_name /Mpackage_password

若要执行保存在 SQL Server msdb 数据库中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password

若要执行保存在 Meta Data Services 中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Mpackage_password /Rrepository_name


请参见

执行 DTS 包

©1988-2000 Microsoft Corporation。保留所有权利。
waitwater 2003-08-26
  • 打赏
  • 举报
回复
EXECUTE master..xp_cmdshell 'dtsrun /S 服务器名 /U sa /p sa密码 /N dts包名 /m dts包密码'
CrazyFor 2003-08-26
  • 打赏
  • 举报
回复
exec master..xp_cmdshell 'dtsrun ....'
------------------

命令提示实用工具

dtsrun 实用工具
dtsrun 实用工具执行用数据转换服务 (DTS) 创建的包。DTS 包可存储在 Microsoft® SQL Server™ 2000 msdb 数据库、COM 结构化存储文件或 SQL Server Meta Data Services 中。

语法
dtsrun
[/?]|
[
[
/[~]S server_name[\instance_name]
{ {/[~]U user_name [/[~]P password]} | /E }
]
{
{/[~]N package_name }
| {/[~]G package_guid_string}
| {/[~]V package_version_guid_string}
}
[/[~]M package_password]
[/[~]F filename]
[/[~]R repository_database_name]
[/A global_variable_name:typeid=value]
[/L log_file_name]
[/W NT_event_log_completion_status]
[/Z] [/!X] [/!D] [/!Y] [/!C]
]

参数/?

显示命令提示选项。

~

指定接下来的参数采取十六进制文本表示加密的参数值。可以和 /S、/U、/P、/N、/G、/V、/M、/F 和 /R 选项一起使用。使用加密的值增加了用于执行 DTS 包的命令的安全性,因为服务器名称、密码等等都不可见。使用 /!Y 确定加密的命令。

/S server_name[\instance_name]

指定要连接到的 SQL Server 实例。指定用于连接到该服务器上的 SQL Server 默认实例的 server_name。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 server_name\instance_name。

/U user_name

是用于连接到 SQL Server 实例的登录 ID。

/P password

是同登录 ID 一起使用的用户指定的密码。

/E

指定信任连接(不需密码)。

/N package_name

当创建 DTS 包时为包所指派的名称。

/G package_guid_string

当创建 DTS 包时指派给它的包 ID。该包 ID 是 GUID。

/V package_version_guid_string

当第一次保存或执行 DTS 包时指派给它的版本 ID。每次修改 DTS 包时都指派给它新的版本 ID。该版本 ID 是 GUID。

/M package_password

当创建 DTS 包时指派给它的可选密码。

/F filename

包含 DTS 包的结构化存储文件的名称。如果也指定了 server_name,则执行从 SQL Server 中检索到的 DTS 包并且将该包添加到结构化存储引擎。

/R repository_database_name

包含 DTS 包的知识库数据库名称。如果没有指定名称,则使用默认的数据库名称。

/A global_variable_name:typeid=value

指定一个包全局变量,其中 typeid = 全局变量数据类型的类型标识符。可以引用整个参数字符串。该参数可重复使用以指定多个全局变量。有关全局变量的各种可用类型标识符的信息,请参见注释部分。

若要使用该命令开关设置全局变量,必须有包的所有者权限或者该包必须已在未启用 DTS 密码保护的状态保存。如果没有所有者权限,可以指定全局变量,但是所用的值将是设置在包中的值,而不是那些用 /A 命令开关指定的值。

/L log_file_name:

指定包日志文件的名称。

/W Windows_Event_Log

指定是否在 Windows 应用程序日志中写入包执行的完成状态。指定 True 或 False。

/Z

指示使用 SQL Server 2000 加密对 dtsrun 命令行进行加密。

/!X

阻塞选定 DTS 包的执行。当想要无须执行包便能创建加密的命令行时,使用该命令参数。如果未指定此选项,则将立即执行 DTS 包。

/!D

从 SQL Server 实例中删除 DTS 包。将不执行此包。从结构化存储文件中删除特定的 DTS 包是不能实现的。需要使用 /F 和 /S 选项重写整个文件。

/!Y

显示用于执行 DTS 包的加密命令,但不执行该命令。

/!C

将用于执行 DTS 包的命令复制到 Microsoft Windows® 剪贴板上。此选项也可与 /!X 和 /!Y 一起使用。


注释
如果未指定任何命令行开关、指定了错误的命令行开关或者命令语句包含语法错误,dtsrun 将返回错误信息及用法说明。如果在命令行中输入不带命令行开关的 dtsrun,则将启动 DTS 运行实用工具。

在命令开关和值之间的空格是可选的。值中嵌入的空格必须嵌入双引号之间。

如果多次指定某个选项,则最后一个为优先。/A 命令开关是个特例。指定多个 /A 开关将创建多个全局变量。

当使用 /A 命令开关指定全局变量时,必须使用类型标识符指明全局变量的数据类型。

正斜线后的 ~ 字符(例如 /~Z)表示参数值已加密,并且后跟加密值的十六进制文本。

下表显示全局变量数据类型及其 ID。


数据类型 类型 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


有关此实用工具位置和运行方式的信息,请参见命令提示实用工具入门。

示例
若要执行保存为 COM 结构化存储文件的 DTS 包,请使用:

dtsrun /Ffilename /Npackage_name /Mpackage_password

若要执行保存在 SQL Server msdb 数据库中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password

若要执行保存在 Meta Data Services 中的 DTS 包,请使用:

dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Mpackage_password /Rrepository_name


请参见

执行 DTS 包

©1988-2000 Microsoft Corporation。保留所有权利。

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧