4

有没有人有任何使用 EzAPI 和平面文件作为数据源的例子?文档中的所有示例都以 OleDB 连接开头。

具体来说,我不知道如何定义输入和输出列。

例如,假设我有一个包含名字、姓氏和年龄列的 CSV 文件。我想将其读入 SSIS,按年龄排序并写入另一个文本文件。

根据这篇文章How to use EzAPI FlatFile Source in SSIS? 我需要手动定义列,但我无法让建议的代码工作。

如果我做:

if (!pkg.Source.OutputColumnExists("col0"))
{

       pkg.Source.InsertOutputColumn("col0");

}

bool newColumnExists = pkg.Source.OutputColumnExists("col0");

newColumnExists 仍然是错误的。

4

1 回答 1

1

我认为这个链接会帮助你:http: //blogs.msdn.com/b/mattm/archive/2008/12/30/ezapi-alternative-package-creation-api.aspx

您将了解如何创建一个。

如果要在平面文件中添加列,请使用以下代码:

 var flatFileCm = new EzFlatFileCM(this);
 flatFileCm.ConnectionString = file;

  foreach (var column in columns)
   {
    // Add a new Column to the Flat File Connection Manager
    var flatFileColumn = flatFileCm.Columns.Add();

    flatFileColumn.DataType = DataType.DT_WSTR;
    flatFileColumn.ColumnWidth = 255;

    flatFileColumn.ColumnDelimiter = columns.GetUpperBound(0) == Array.IndexOf(columns, column) ? "\r\n" : "\t";

    flatFileColumn.ColumnType = "Delimited";

    // Use the Import File Field name to name the Column
    var columnName = flatFileColumn as IDTSName100;
    if (columnName != null) columnName.Name = column;
 }
 flatFileCm.ColumnNamesInFirstDataRow = true; 
于 2014-11-14T17:32:06.593 回答