我想使用 SSIS 导入平面文件。我的平面文件有 50 列,但没有列标题。所以它显示为第 0 列、第 1 列等。我不想使用高级编辑器手动分配列名。有没有办法动态分配 50 个列名。所以 Column 0 = Client , Column 1 = Date 等等。
2 回答
选项 1 是安装 BI 开发人员扩展并使用“创建固定宽度列”工具https://bideveloperextensions.github.io/features/CreateFixedWidthColumns/
选项 2 使用Biml定义您的平面文件并在那里生成您的包(和连接管理器)。我在 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*。