我想使用SSIS导入平面文件。我的平面文件有50列,但没有列标题。因此它显示为列0,列1等。我不想使用高级编辑器手动分配列名。有没有一种方法可以动态分配50个列名。因此,第0列=客户,第1列=日期,依此类推。
答案 0 :(得分:1)
选项1是安装BI Developer Extensions并使用“创建固定宽度的列”工具https://bideveloperextensions.github.io/features/CreateFixedWidthColumns/
选项2使用Biml定义平面文件,然后在其中生成包(和连接管理器)。我有plenty of examples在Biml中进行此操作
答案 1 :(得分:0)
除了@billinkc答案,如果您熟悉C#,还有其他选择:
(a)使用SQL Server Client SDK程序集
这是通过编程方式创建ssis软件包的官方传统方式,互联网上有许多链接可以参考,例如:
(b)使用EzApi –替代软件包创建API
EzAPI是一个由Evgeny Koblov用C#编写的.NET库,它是SSIS团队的测试人员之一,它抽象了许多直接用编程语言创建SSIS包XML所需的繁琐的底层编码
您可以参考互联网上的许多链接,例如:
(c)使用SchemaMapper类库
最近,我在Git-Hub上启动了一个新项目,该项目是使用C#开发的类库。您可以使用它使用架构映射方法将Excel,Word,Powerpoint,文本,CSV,HTML,JSON和xml中的表格数据导入具有不同架构定义的SQL Server表中。在以下位置查看:
您可以按照此Wiki页面获取逐步指南:
您可以使用此库从平面文件读取并通过几行代码*导入SQL。