【问题标题】:In SSIS, when defining a fixed flat file length flat file connection, is there a way to programmatically define the columns?在 SSIS 中,当定义一个固定的平面文件长度平面文件连接时,有没有办法以编程方式定义列?
【发布时间】:2012-07-16 15:45:40
【问题描述】:

昨天我不能和我四岁的孩子一起玩。你为什么不问?

因为我有一个 150 列的固定长度文件,我需要在 SSIS 中配置它以导入 SQL Server 数据库。

我知道如何做到这一点,但无法以编程方式定义列让我发疯了。这比看美国偶像重播还要糟糕。

在“Flat File Connection Manager Editor”中,我将格式设置为“Ragged right”,勾选“Column names in the first data row”。

然后在列选项卡中有定义列的界面。

我在 Excel 电子表格中有列定义。我知道列名和确切长度。

但是为什么以宙斯的名义,我必须手动点击那个愚蠢的小尺子 150 次

我应该可以编写脚本。

我的意思是坐在那里点击栏目绝对令人麻木。本来应该花一个小时的事情却花了我三个小时,因为每三列左右,编辑器就会把我弹回到行首,迫使我滚动回到原来的位置(啊!!!!!!)。

我什至打开了 SSIS package.dtsx 文件,看看是否可以在 Visual Studio 之外对其进行编辑,但是 DTSID 属性旁边的 GUID 值否定了这个绝妙的想法。

所以我亲爱的 StackOverFlow 社区有没有办法以编程方式定义固定长度的平面文件连接,从而跳过手动单击 150 列的乐趣?

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    是的:http://blogs.msdn.com/b/mattm/archive/2008/12/30/samples-for-creating-ssis-packages-programmatically.aspx

    您通常会使用 Microsoft.SqlServer.Dts.* 类通过 .NET 打开现有(模板)包,添加连接管理器和列,然后保存包以供进一步手动调整。

    【讨论】:

    • 我在脚本任务中执行此操作?
    • @codingguy3000 不,它必须在包之外完成 - 我想你可以在另一个包中完成它,但我有一个 C# WinForms 程序允许我浏览文件,打开它和代码生成包。
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2021-09-17
    • 2013-11-28
    • 2019-12-13
    • 2011-02-17
    相关资源
    最近更新 更多