SSIS 查找多个相同的数据库
SSIS Lookup multiple identical databases
我正在开展一个项目,我需要在 Integration Services 中的数据仓库服务器上进行查找。
我的问题是我需要能够更改执行查找的数据库。数据库在设计方面完全相同。
我之前用脚本组件解决了这个问题,对于每一行,如果数据库 ID 发生变化,连接也会发生变化,示例如下
try {
if (databaseNr != Row.DatabaseNr) {
try {
databaseNr = Row.DatabaseNr;
currentCatalog = "db" + Row.DatabasNr;
connection.ChangeDatabase(currentCatalog);
} catch (Exception e) {
ComponentMetaData.FireWarning(0, ComponentMetaData.Name, e.Message, "", 0);
}
}
string command = "SELECT Id, Name, Surname FROM [" + currentCatalog + "].[TableName] WHERE Id = '" + Row.OrderID + "'";
但如果查找组件可以做到这一点,我会省去很多麻烦。
所以我的问题是:是否有可能以任何方式使用列数据来更改使用查找组件执行查找的数据库?
感谢任何帮助!
您可以做的是:
- 转到控制流
- Select你的数据流任务
- 转到属性和select查找组件
- 为查找创建一个表达式,您可以重复使用在脚本任务中准备的查询。
我正在开展一个项目,我需要在 Integration Services 中的数据仓库服务器上进行查找。 我的问题是我需要能够更改执行查找的数据库。数据库在设计方面完全相同。
我之前用脚本组件解决了这个问题,对于每一行,如果数据库 ID 发生变化,连接也会发生变化,示例如下
try {
if (databaseNr != Row.DatabaseNr) {
try {
databaseNr = Row.DatabaseNr;
currentCatalog = "db" + Row.DatabasNr;
connection.ChangeDatabase(currentCatalog);
} catch (Exception e) {
ComponentMetaData.FireWarning(0, ComponentMetaData.Name, e.Message, "", 0);
}
}
string command = "SELECT Id, Name, Surname FROM [" + currentCatalog + "].[TableName] WHERE Id = '" + Row.OrderID + "'";
但如果查找组件可以做到这一点,我会省去很多麻烦。
所以我的问题是:是否有可能以任何方式使用列数据来更改使用查找组件执行查找的数据库?
感谢任何帮助!
您可以做的是:
- 转到控制流
- Select你的数据流任务
- 转到属性和select查找组件
- 为查找创建一个表达式,您可以重复使用在脚本任务中准备的查询。