【问题标题】:Get Server and Database Name in SSIS Event Handler Task在 SSIS 事件处理程序任务中获取服务器和数据库名称
【发布时间】:2014-08-13 12:14:54
【问题描述】:

我有一个关于 ssis 包的问题。我有一个带有 OnError、OnPreExecute 和 OnPostExecute 的 ssis 包。在这些事件处理程序中执行不同任务并更新不同表的 SQL 任务。我的问题是:我使用了一些系统变量,例如 SourceName 和 SourceDescriptin(这是当前 sql 任务的名称和描述)。我注意到“源”的连接(服务器名称,数据库名称)没有任何变量,即步骤。有没有办法获取 Source/Step 使用的数据库名称和服务器名称?任何帮助将不胜感激,在此先感谢您。

【问题讨论】:

  • 您使用的是哪个版本? 2012 年? .只是想知道您是否有可用的参数。
  • 我们使用 Visual Studio 2010 构建 ssis 包。

标签: sql ssis


【解决方案1】:

我不认为,我们会有一个携带服务器名称和数据库名称的系统变量。在 SSIS 包中,可以在连接管理器中创建任意数量的连接。因此,将它们全部放在系统变量中是不可能的。我认为这样的事情需要由开发人员自己管理。可能这些步骤会对您有所帮助。

1. Add a parameter (1 parameter per Server).
This parameter will be available through out the package.
2. When the package is running , if required give value to the parameter from SSIS catalog (through SSIS SPs)

【讨论】:

  • 感谢您的回答。如何使用 ssis 目录来实现这一点?...谈到 ssis 包,我是个婴儿。如果您有任何简单示例的链接,将不胜感激。我目前也在研究它。
【解决方案2】:

对于服务器名称,您可以使用名为 MachineName 的系统变量。它将为您提供运行包的机器的名称。至于数据库,您必须使用执行 SQL 任务来捕获它,并将其存储在您选择的变量中。

【讨论】:

  • 感谢回复,但不能使用 machinename,因为我们所有的 ssis 包都在服务器(例如 Server1)上存储和处理,但包中的 ssis 任务引用其他服务器和其他数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 2021-07-23
  • 2010-11-20
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多