有没有人有将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。
发布于 2014-11-15 01:32:07
我认为这个链接会对你有所帮助: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; https://stackoverflow.com/questions/16338618
复制相似问题