SSIS映射具有不同数据的列

时间:2013-06-10 18:13:27

标签: mapping ssis

我正在尝试编写一个SSIS包来将数据从平面文件传输到我的数据库中。我在DB表中的查阅列的名称为“BUY”,“SELL”,“BUY COVER”,“SHORT SELL”和“POSITION ADJUSTMENT”。我映射到此表的数据分别为“BUY”,“SELL”,“COVER”和“SHORT”。

如何让映射识别出“BUY COVER”/“COVER”和“SHORT SELL”/“SHORT”应该匹配?如何将传入数据转换为适用于我的数据库要求?

使用Visual Studio Business Intelligence Development Studio 2008和SQL Server 2008。

2 个答案:

答案 0 :(得分:0)

您必须提供这些映射,就像我在answer中所描述的那样。对于所有可能的输入,您需要创建一个参考值的转换---就像您在SQL或其他任何地方执行此操作一样。

答案 1 :(得分:0)

我最终做了一些不同的事来解决这个问题。由于我只是希望能够从平面文件中的列映射到数据库,所以我做了以下操作,它工作得很好。

在查找转换编辑器中,我将以下查询插入到查询的SQL查询选项中:

选择cast(TradeTypeId as int)作为TradeTypeId, TradeType = 案件 当TradeTypeId = 3然后'COVER' 当TradeTypeId = 4然后'SHORT' else TradeTypeName 结束 来自dbo.sct_TradeType TradeTypeId<> 9

“TradeType”包含值“买入”,“卖出”,“买入盖”,“卖空卖出”和“仓位调整”。我没有使用“POSITION ADJUSTMENT”(id = 9),所以它最后从查询中删除了。这转换了我的文件列名称以匹配我的数据库名称,一切正常!