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 はまだ false です。

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 に答える