我是SSIS的新手,并且一直在寻求解决方案来解决这一挑战,但是没有成功。
实际上,我收到的Excel文件大约有200列,为简单起见,我们假设我有10列,前3列是“产品名称”,“产品类别”和“客户名称”,然后所有其他列是与销售预测有关的月份,我有类似的内容:
Product ! Category ! Client ! Jan-18 | Feb18 | Mar18 !
Prd A | Cat A | ClientA| 10 | 20 | 25 |
Prd B | Cat B | ClientB| 70 | 30 | 100 |
我的问题是,每个月我都会在此文件中得到一个新的月,并且我不能仅导入最后一个月,因为历史数据会随时间变化。
因此,下个月我可以有,例如:
Product ! Category ! Client ! Jan-18 | Feb18 | Mar18 ! Apr18|
Prd A | Cat A | ClientA| 50 | 40 | 250 | 40 |
Prd B | Cat B | ClientB| 50 | 40 | 150 | 80 |
如何将其导入SQL?我当时正在考虑使用脚本任务来执行此操作,但是由于我不了解C#或VB,所以无法编写脚本。
是否有一种无需脚本任务即可执行此加载的方法?如果可以,怎么办?如果可以使用ST,您能帮我写这个吗?
答案 0 :(得分:0)
卢卡斯,当我遇到同样的问题时,我使用的一种解决方法是将表导入到只有一个varchar(max)列的登台表中。不要忘记添加定界符。这样,SSIS将接受具有尽可能多列的文件。一旦这些数据进入数据库,您就可以创建一个将数据分成多列并发送到最终表的过程。我知道还有其他方法,但是这个过程对我有用。