首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SSIS中使用EzAPI FlatFile源?

如何在SSIS中使用EzAPI FlatFile源?
EN

Stack Overflow用户
提问于 2010-09-02 02:15:38
回答 1查看 1.1K关注 0票数 0

我正在使用EzAPI创建一个带有FlatFile源的数据流

代码语言:javascript
复制
public class EzOleDbToFilePackage : EzSrcDestPackage<EzFlatFileSource, EzFlatFileCM, EzOleDbDestination, EzSqlOleDbCM>

使用来自http://blogs.msdn.com/b/mattm/archive/2008/12/30/ezapi-alternative-package-creation-api.aspx的示例,我尝试使用平面文件源。但是,在平面文件源/连接中,我无法映射平面文件中的列。

有没有类似于zFlatFileSource的Dest.DefineColumnsInCM()?

在BIDM中,当我打开创建的包时,我看到EzFlatFileCM显示没有为这个连接管理器定义列。只要我单击列,它就会自动检测所有内容,错误就会消失。我需要在代码中调用什么方法才能让EzFlatFileSource自动选取这些列?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-09 04:23:19

来自http://blogs.msdn.com/b/mattm/archive/2008/12/30/ezapi-alternative-package-creation-api.aspx的人

我相信自动确定源列的逻辑是内置在平面文件连接管理器UI中的,并且不能通过代码访问(这是我绝对想要更改的)。从我的代码示例中,看起来您需要手动定义列。

例如。

代码语言:javascript
复制
       pkg.SrcConn.Unicode = (fileFormat == FileFormat.UNICODE);

       pkg.SrcConn.ConnectionString = srcFile;

       pkg.SrcConn.Columns.Add().DataType = dataType;

       pkg.SrcConn.Columns[0].ColumnType = "Delimited";

       pkg.SrcConn.ColumnNamesInFirstDataRow = false;

       pkg.SrcConn.ColumnDelimiter = ",";

       pkg.SrcConn.RowDelimiter = "\r\n";

       pkg.SrcConn.TextQualifier = "\"";

       pkg.SrcConn.Columns[0].TextQualified = testObject.textQualified;

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

       {

           pkg.Source.InsertOutputColumn("col0");

       }

       pkg.Source.SetOutputColumnDataTypeProperties("col0", dataType, testObject.length, testObject.precision, testObject.scale, testObject.codePage);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3620927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档