如何从VB脚本操作和运行远程SSIS包?

时间:2011-08-23 16:20:44

标签: sql-server sql-server-2005 ssis sql-server-2000

我有一些旧的VB脚本代码,我可以修改,但我无法将应用程序迁移到新语言...

这个VB脚本主要用于连接到SQL 2000 Server并在运行之前操作包的连接,这将在本地输出一个flatfile数据库。

现在我没有DTS包,我只有一个SSIS包。

以前的代码是:

dim DTScon
dim DTSpkg
set DTSpkg = Server.CreateObject("DTS.Package")
DTSpkg.LoadFromSQLServer "mysqlserver","myuser","mypass",dts.DTSSQLStgFlag_Default,,,,"MyPackageName"

set DTScon = DTSpkg.Connections.Item("Conn1")
set DTScon.UserId = "conn_username"
set DTScon.Password = "conn_password"
set DTScnp = DTScon.ConnectionProperties.Item("Data Source");
DTScnp.Value = "c:\path\to\output\flatfile"

我现在正在尝试将代码修改为

dim DTScon
dim DTSpkg
set DTSpkg = Server.CreateObject("DTS.Application")
DTSpkg.LoadFromSQLServer "mysqlserver","myuser","mypass",dts.DTSSQLStgFlag_Default,,,,"MyPackageName"

set DTScon = DTSpkg.Connections.Item("Conn1")
set DTScon.UserId = "conn_username"
set DTScon.Password = "conn_password"
set DTScnp = DTScon.ConnectionProperties.Item("Data Source");
DTScnp.Value = "c:\path\to\output\flatfile"

我得到的第一个错误是:     Microsoft VBScript运行时错误“800a01b6”     对象不支持此属性或母版:'DTSpkg.LoadFromSQLServer'     /main.asp.241

我猜这将是我可能要克服的众多障碍之一。 但是,我一直在努力通过谷歌搜索找到解决方案。

有没有人知道我需要做什么才能让IIS运行这个新代码? 或者我试图做的任何问题都可以解决?

1 个答案:

答案 0 :(得分:1)

您最好的选择是更改SSIS包以使用连接管理器的包配置。如果使用SQL Server配置,则在加载并执行包时,它将根据在SQL Server配置表中找到的内容更改连接管理器。所以你的步骤是改变该表中的数据,然后启动包 - 不需要直接操作包。