[英]ssis export from excel to sql independently of the number of columns
我找不到答案,我认为这很容易:)
使用SSIS,我想从excel导入到SQL表中,而与列数无关,我不在乎折衷式是否具有3或33列。
如何完成这样的事情:从exceldataset选择*到mytable中,
如果您不能使用OPENROWSET函数并执行SQL任务。
这已经被回答过很多次了。 在SSIS中,源的元数据与软件包一起存储。 它不能改变。 做到这一点的唯一方法是通过编程方式更改包中的数据源定义,这显然并不简单。 您需要一个脚本任务并深入研究API。 在Excel中,通过展平,取消透视或任何需要的操作,或者在生成它的系统中,更改源文件都比较容易。
签出这个问题不是答案,而是一些指示。 它实际上处理不同的文件,而不是列。
最简单的方法是将Execute SQL Task
与动态OPENROWSET
命令一起使用。
由于您提到不能使用此方法,因此我认为您必须使用Script Task
将Excel文件转换为csv文件,然后将平面文件导入SQL。
您可以参考以下链接以获取更多信息:
使用脚本任务将Excel转换为csv
导入具有不同标题的平面文件
如果您的Excel文件具有相同的列号,但标题是变量
其他有用的文章
如果您不希望使用这些方法之一,则必须以编程方式或为每个Excel文件使用BIML生成软件包,因为SSIS需要验证Excel文件的元数据,并且不支持使用同一Excel Source导入多个excel结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.