【问题标题】:SSIS 2008 R2 - How to load header and data row from CSVSSIS 2008 R2 - 如何从 CSV 加载标题和数据行
【发布时间】:2011-10-28 02:17:10
【问题描述】:

我有一个 CSV 文件,其中在同一文件中有标题行和数据行。

我想在同一加载期间从两行获取信息。

最简单的方法是什么?

即文件示例 - Import.CSV

2,11-Jul-2011
鲍勃·史密斯先生,1984 年 1 月 1 日
Jane,Doe 女士,1981 年 4 月 23 日

在第一行,有行数和传输日期的计数。

在第二行和后续行中是实际数据,在此 Title、FirstName、LastName、Birthdate

【问题讨论】:

    标签: sql-server sql-server-2008 ssis


    【解决方案1】:

    SQL Server Integration Services 条件拆分转换应该这样做。

    【讨论】:

      【解决方案2】:

      我想知道您将如何处理管道中的这些信息。但是,只有一种解决方案可以一次性阅读(请看最后的注释/限制):

      创建数据流

      条件拆分的一个路径将是文件的第一行 (mycounter=0),另一个路径将是其余行(在您的示例中为 2)。

      注意#1:文件源只能为源中的每一列设置一个元数据。这意味着如果您的第一列数据是字符串(先生,女士,...),那么您必须在源中将其设置为字符串数据类型。否则,如果您将其设置为整数 (DT_Ix) 它 一旦在文件的第一列中遇到带有字符串数据(先生,女士,...)的行,它将失败。这适用于所有列,而不仅仅是第一列。

      注意 #2:SSIS 只会看到您告诉它的列数。这意味着您必须在每行中具有相同数量的列。否则,您的 csv 文件参差不齐,您需要采取另一种方法 - 搜索 Internet。但这些解决方案也需要不同的 csv 布局。

      【讨论】:

        【解决方案3】:

        以下链接中的答案解释了当父行和子行彼此相邻存在于同一文件中时,如何将父子数据从平面文件加载到 SQL Server 数据库中。

        How do I split flat file data and load into parent-child tables in database?

        How to load a flat file with header and detail data into a database using SSIS package?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-01
          相关资源
          最近更新 更多