【问题标题】:SSIS how to manage dynamic connection managers?SSIS如何管理动态连接管理器?
【发布时间】:2014-05-16 02:18:30
【问题描述】:

这是我想要达到的目标,

1) Start the loop from 5 years back from current year 
2) Check if database for that year is exist if not create new one  ?
3) move the tables according to there year of creation into the database of that year ?

为此,我创建了 SSIS 包,我添加了连接管理器,该连接字符串为每年的每个循环动态设置,该连接字符串在检查数据库存在和创建新数据库时工作正常,但当包尝试执行 sql 任务来移动数据表,然后它会抛出错误

[Execute SQL Task] Error: Connection manager "dummyserver.dummydatabase2012" does not exist.

任何帮助都会很棒..

【问题讨论】:

  • 关于您的赏金,请您更新您的问题以反映什么是过时的。我们需要这里的细节。如果数据库已经存在,应该发生什么情况的一个示例将有助于您如何“移动”表。我们必须担心 RI 吗?有需要担心的表子集吗?

标签: delphi ssis delphi-2006


【解决方案1】:

您说您动态设置了连接字符串。在该连接字符串中为ServerNameIntialCatlog 创建一个变量,并使用变量名分配该属性值,然后在运行时使用script task 或如果它们来自数据库则使用` sql任务。如果有任何问题,请告诉我。

【讨论】:

  • 谢谢!它起作用了,我用变量设置了我的服务器名称,但没有设置导致错误的连接 IntialCatlog 属性。再次感谢。
【解决方案2】:

如果您需要创建新数据库,请创建到主数据库的连接管理器。您可以使用该 CM 来处理所有数据库,只需在引用表时使用 DB.SCHEMA.TABLE 语法(例如,select * from mydb.dbo.mytable)。

【讨论】:

    【解决方案3】:

    您可以尝试每次使用这样的 SQL 语句创建表

    如果表名不存在则创建表 ...

    【讨论】:

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