【问题标题】:Problem with different datatypes不同数据类型的问题
【发布时间】:2011-05-10 03:09:18
【问题描述】:

我有一个项目在 SqlServer 2005 和 SqlServer 2008 的 SSIS 上运行一些代码。我的问题是我为此维护了两个 Visual Studio 解决方案,因为两个版本的 SQL Server 的数据类型不同(以..90 在 SQL Server 2005 上和 ...10 在 SQL Server 2008 上)。它们也在不同的程序集中。

有没有一种简单的方法来管理这个,无论是在开发中还是在构建中,我讨厌必须在两个地方(每个解决方案)输入我的代码,并且随着 SQL Server 2011 的到来,我怀疑我将不得不这样做三遍.您如何解决这个问题,或者对如何解决这个问题有任何建议?

编辑: 这是我正在做的一个示例,因为我认为很难在界面中将其分解,或者?

foreach (IDTSVirtualInputColumn90 virtualColumn in virtualInput.VirtualInputColumnCollection)
{
    if (string.Compare(virtualColumn.Name, columnTransformation.FromColumn.Name, true) == 0 || (columnTransformation.FromColumn.Preformatted && columnTransformation.FromColumn.Name.EndsWith(" as \"" + virtualColumn.Name + "\"")))
    {
       convInstance.SetUsageType(input.ID, virtualInput, virtualColumn.LineageID, DTSUsageType.UT_READONLY);
       IDTSOutputColumn90 outputColumn = convComponent.OutputCollection[0].OutputColumnCollection.New();
       outputColumn.Name = virtualColumn.Name + " (Converted)";
       outputColumn.SetDataTypeProperties(columnTransformation.ToColumn.DataType, columnTransformation.ToColumn.Length, columnTransformation.ToColumn.Precision, columnTransformation.ToColumn.Scale, 0);
       outputColumn.ErrorRowDisposition = DTSRowDisposition.RD_FailComponent;
       outputColumn.TruncationRowDisposition = DTSRowDisposition.RD_IgnoreFailure;
       IDTSCustomProperty90 outputProp = outputColumn.CustomPropertyCollection.New();
       outputProp.Name = "SourceInputColumnLineageID";
       outputProp.Value = virtualColumn.LineageID;
       outputProp = outputColumn.CustomPropertyCollection.New();
       outputProp.Name = "FastParse";
       outputProp.Value = false;
       break;
     }
}

【问题讨论】:

    标签: c# sql-server assemblies types


    【解决方案1】:

    目前还不清楚您的代码在做什么,但处理这类事情的正常方法是创建一个接口或抽象类,然后为特定行为创建多个实现(或派生类)。所有通用代码都可以只与抽象对话,让实现处理细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2020-05-25
      • 2010-12-24
      • 2018-10-27
      相关资源
      最近更新 更多