【发布时间】:2019-11-10 16:54:08
【问题描述】:
我想使用 SSIS 导入平面文件。我的平面文件有 50 列,但没有列标题。所以它显示为第 0 列、第 1 列等。我不想使用高级编辑器手动分配列名。有没有办法动态分配 50 个列名。所以 Column 0 = Client , Column 1 = Date 等等。
【问题讨论】:
标签: sql-server ssis etl flat-file flatfilesource
我想使用 SSIS 导入平面文件。我的平面文件有 50 列,但没有列标题。所以它显示为第 0 列、第 1 列等。我不想使用高级编辑器手动分配列名。有没有办法动态分配 50 个列名。所以 Column 0 = Client , Column 1 = Date 等等。
【问题讨论】:
标签: sql-server ssis etl flat-file flatfilesource
选项 1 是安装 BI Developer Extensions 并使用“创建固定宽度列”工具https://bideveloperextensions.github.io/features/CreateFixedWidthColumns/
选项 2 使用 Biml 定义您的平面文件并在那里生成您的包(和连接管理器)。我有 plenty of examples 在 Biml 中这样做
【讨论】:
除了@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*。
【讨论】: