使用SSIS将excel导出到sqlserver

时间:2013-04-01 06:33:01

标签: excel ssis sql-server-2012

我正在使用SSIS包将excel数据导出到sqlserver数据库。我成功了,我能够将数据插入到sqlserver表中。为此,我使用了以下步骤。 1.添加了Excel源代码 2.数据转换层 3. OLEDB目的地

当我运行包时,我能够插入数据。现在我的要求是,如果在excel中进行了任何更改,并且当我们重新运行SSIS包时,数据库必须更新而不是因为主键而导致插入错误。我厌倦了以下方式, 在OLEDB目标配置中,我从下拉列表中选择了sqlcommand选项而不是Table视图,并在命令框中添加了以下查询

Insert into unicode(ID
      ,Description
      ,Start_Date
      ,End_Date
      ,Start_of_week
      ,Is_Shift_allowed
      ,Any_other_info) Select ID
      ,Description
      ,Start_Date
      ,End_Date
      ,Start_of_week
      ,Is_Shift_allowed
      ,Any_other_info FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0;Data Source=D:\Files\backup\MasterList.xls;Extended Properties=EXCEL 8.0;HDR=YES','SELECT * FROM [Project$]') 

当我点击解析查询时,它显示异常为sysnatx erroe“),”。 任何建议都是受欢迎的!.. 谢谢 桑吉塔     'SELECT * FROM [Project $]')

1 个答案:

答案 0 :(得分:0)

我认为您应该使用预加载表,其中每次启动etl时,它将首先被截断(使用sql taks),然后填充excel数据。之后添加另一个sql taks并使用EndDate列编写合并语句(插入/更新)。