2

我想使用 SSIS 导入平面文件。我的平面文件有 50 列,但没有列标题。所以它显示为第 0 列、第 1 列等。我不想使用高级编辑器手动分配列名。有没有办法动态分配 50 个列名。所以 Column 0 = Client , Column 1 = Date 等等。

4

2 回答 2

1

选项 1 是安装 BI 开发人员扩展并使用“创建固定宽度列”工具https://bideveloperextensions.github.io/features/CreateFixedWidthColumns/

选项 2 使用Biml定义您的平面文件并在那里生成您的包(和连接管理器)。我在 Biml 中有很多这样做的例子

于 2019-06-28T21:29:51.773 回答
0

除了@billinkc 答案,如果您熟悉 C#,还有其他选择:

(a) 使用 SQL Server 客户端 SDK 程序集

这是以编程方式创建 ssis 包的官方传统方式,互联网上有很多链接可以参考,例如:

(b) 使用 EzApi – 替代包创建 API

EzAPI 是一个 .NET 库,由 SSIS 团队的一名测试人员 Evgeny Koblov 用 C# 编写,用于抽象出许多直接用编程语言创建 SSIS 包 XML 所需的繁琐低级编码

网上有很多链接可以参考,比如:

(c) 使用 SchemaMapper 类库

最近我在 Git-Hub 上开始了一个新项目,这是一个使用 C# 开发的类库。您可以使用它使用架构映射方法将表格数据从 excel、word、powerpoint、text、csv、html、json 和 xml 导入到具有不同架构定义的 SQL Server 表中。在以下位置查看:

您可以按照此 Wiki 页面获取分步指南:

您可以使用此库从平面文件中读取并通过几行代码导入 SQL*。

于 2019-06-29T20:18:02.280 回答