【发布时间】:2020-05-08 04:22:26
【问题描述】:
我有一个 SSIS pckage,我在其中从托管在不同服务器上的 350 个不同的 oracle 数据库中获取数据。 我添加了一个 foreach 循环容器来从不同的服务器获取数据并将其存储到 1 个数据库中。 我希望如果任何连接失败,那么我的包会跳过该连接并将其移至下一个连接,我该如何实现?
【问题讨论】:
标签: sql sql-server ssis ssis-2012 msbi
我有一个 SSIS pckage,我在其中从托管在不同服务器上的 350 个不同的 oracle 数据库中获取数据。 我添加了一个 foreach 循环容器来从不同的服务器获取数据并将其存储到 1 个数据库中。 我希望如果任何连接失败,那么我的包会跳过该连接并将其移至下一个连接,我该如何实现?
【问题讨论】:
标签: sql sql-server ssis ssis-2012 msbi
如果我担心它不起作用,我会使用 try catch 进行测试。
添加以下代码:
Dts.Variables["canConnect"].Value = false;
string cstr = Dts.Variables["connString"].Value;
try
{
using(System.Data.OleDB.OleDbConnection conn = new System.Data.OleDB.OleDbConnection(cstr);)
{
conn.Open();
Dts.Variables["canConnect"].Value = true;
}
}
catch{}
finally
{conn.Close();}
如果你知道 canConnect = false 就做点什么
【讨论】: