Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 带有EzApi的平面文件源代码_Ssis_Ezapi - Fatal编程技术网

Ssis 带有EzApi的平面文件源代码

Ssis 带有EzApi的平面文件源代码,ssis,ezapi,Ssis,Ezapi,有人举过使用EzAPI和平面文件作为数据源的例子吗?文档中的所有示例都从OleDB连接开始 具体来说,我不知道如何定义输入和输出列 比如说,我有一个CSV文件,其中有名字、姓氏和年龄列。我想把它读入SSIS,按年龄排序,然后写出另一个文本文件 根据这篇文章,我需要手动定义列,但我无法让建议的代码正常工作 如果我这样做: if (!pkg.Source.OutputColumnExists("col0")) { pkg.Source.InsertOutputColumn("col0

有人举过使用EzAPI和平面文件作为数据源的例子吗?文档中的所有示例都从OleDB连接开始

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

比如说,我有一个CSV文件,其中有名字、姓氏和年龄列。我想把它读入SSIS,按年龄排序,然后写出另一个文本文件

根据这篇文章,我需要手动定义列,但我无法让建议的代码正常工作

如果我这样做:

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

       pkg.Source.InsertOutputColumn("col0");

}

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

newColumnExists仍然是错误的。

我认为此链接将帮助您:

您将了解如何创建一个

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

 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; 

在集合中找不到该元素。当您在执行包期间尝试从容器上的集合中检索元素,但该元素不存在时,会发生此错误。