我有超过50个Excel文件,我想将它们中的每一个导入到SQl服务器中的新SQL表中,表的名称是excel文件的名称 我如何使用SSIS实现这一目标?
每个文件都有自己的列名。所以我需要一种方法来循环文件夹中的每个文件,并将每个文件的数据导入新的sql表
答案 0 :(得分:1)
这只是让您了解可以做些什么。
在SQL Server中创建临时表
CREATE TABLE dbo.ExcelStaging
(LineId INT NOT NULL IDENTITY(1,1)
, FileLine VARCHAR(2000)
, FileName VARCHAR(50)
)
在导入每个文件之前截断登台表。
创建脚本任务,读取文件的每一行并插入临时表colume'FileLine'。 LineId = 1应始终保留原始文件列标题。你必须仔细选择哪个分隔符,逗号分隔符或固定宽度?
将文件加载到表中后,执行SQL任务 - 存储过程
一个。基于文件名和FileLine,其中LineID = 1,创建一个新的SQL表。新表可能看起来很丑 - 每个列数据类型都是varcher,因为不知道每个字段的数据类型是什么。
湾插入到新表中选择FileLine的子字符串作为登台表中的列。在这里,您选择的分隔符将决定每个列的子字符串。