【问题标题】:Dynamic Connection for a Project in SSISSSIS 中项目的动态连接
【发布时间】:2018-12-29 09:10:19
【问题描述】:

我有一个项目和一些包。现在我使用 3 个不同的服务器,所以每个包中的每个服务器都有 3 个数据流。这 3 个服务器将来将是 15 个服务器,所以我必须找到一种使用方法动态连接,所以我将有 1 个数据流。我的 OLE DB 连接的范围是项目范围,当我参数化它时我不能在其中使用变量。现在我在其中一个服务器中有一个表,其中包含名为 serverNames ConnectionTbl.我运行“执行 SQL 任务”并将 serverNames 放入名为 ObjConnection 的对象变量中。然后我放入“For Each Loop Container”并在 Collection 中为“ADO 对象源变量”放入 ObjConnection.Now 映射变量我无法映射参数,但对于项目级连接,我需要传递一个参数。所以我搜索并发现有一个环境变量,我已经部署了项目并为我的参数分配了一个环境变量,但有些我需要如何为这个环境变量提供来自 Conn 的值ectionTbl 但我不能引用它 我在 Package Scope 连接中没有任何问题,因为使用变量连接工作得很好。 有人可以帮忙吗?

【问题讨论】:

  • 你在windows中定义了你的环境变量吗?像这样:“Data Source=.;Initial Catalog=[db here];Provider=SQLNCLI11.1;Integrated Security=SSPI” 您需要在您工作的每个环境中定义此环境变量以连接到正确的 db/instance .

标签: parameters ssis connection environment-variables foreach-loop-container


【解决方案1】:

您可以使用DTExec command prompt utility 来执行项目并动态更新项目参数。

在您的情况下,尝试创建一个主包并在执行流程任务中执行项目。

DTExec /ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" /SERVER "." /Envreference 2 /Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 /Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb /Par "$ServerOption::SYNCHRONIZED(Boolean)";True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多