使用SSIS,如何从Excel表插入新的数据到我现有的SQL Server表中
我已经从Excel文件导入一些数据到我的SQL Server表使用SSIS。 因为这是一个损益表的报告,它有一个名称为交易名称,地址会计年度等。
在SSIS中,我使用了OLE DB Source并使用类似的查询
Select * from [Sheet1$A10:E]
所以数据已经被拾起。 但是U需要插入交易名称和会计年度信息以及其他数据
Trader FYear AccNo AccName July August September a 2014 4-0000 In a 2014 4-0500 Ad $4,514.06 $4,521.23 $4,296.62 a 2014 4-1000 Me $37,085.78 $35,676.20 $36,150.87 a 2014 4-1300 Ro $11,876.20 $10,956.70 $11,819.04 a 2014 4-2000 Gr $57,540.76 $52,978.63 $54,272.24
我可以通过使用OLE DB Source和SQL来从Excel工作表中提取交易者和FYear
select * from [Sheet1$a1:a8]
并使用条件分割我可以分开他们。 但是我实际上并不知道如何将这些数据插入到上面那个表的每一列。
还有一件事,如果我写这样的查询
insert into tblA(Trader, FYear, AccNo, AccName, July, August, September) select 'a', '2014', tblB.AccNo, tblB.AccName, tblB.July, tblB.August, tblB.September;
那么,它在SQL Server表中工作,但任何人都可以帮助我插入这两列像上面的数据表? 不pipe怎么说,还是要谢谢你
![在这里input图片描述] [1]
Trading Name(a) Address1 Address2 Profit & Loss Statement Fiscal Year(2014) AccNo AccName July August September 4-0000 In 4-0500 Ad $4,514.06 $4,521.23 $4,296.62 4-1000 Me $37,085.78 $35,676.20 $36,150.87 4-1300 Ro $11,876.20 $10,956.70 $11,819.04 4-2000 Gr $57,540.76 $52,978.63 $54,272.24 4-3500 B $0.00 $0.00 $0.00 4-4000 P $3,576.76 $4,110.66 $2,208.31 4-5000 Be $19,559.94 $17,926.14 $18,260.71 4-6000 Tu $13,471.97 $15,042.04 $13,150.06 4-8900 Re $3,500.00 $0.00 $0.00 Total Income $151,125.47 $141,211.60 $140,157.85 5-0000 Cost of Sales Gross Profit $151,125.47 $141,211.60 $140,157.85 6-0000 Expenses 6-1000 General & Administrative Exp 6-1050 Accounting Fees $0.00 $0.00 $270.00 6-1200 Bank Charges $11.20 $11.20 $14.99
我可以通过使用OLE DB Source从Excel表中获取交易者和FYear,但是我实际上不知道如何将这些数据插入到上面的每一列中
使用您现有的方法在开始时用交易者和FYYear填充两个SSISvariables。 然后在数据stream中使用派生列转换并将variables值作为附加列插入。
根据您发送的图片:
-
删除第一个 ForEachLoop容器及其内容之外的所有内容
-
在这个ForEachLoop容器中添加一个执行SQL任务,它
select * from [Sheet1$a1:a1]
运行select * from [Sheet1$a1:a1]
。 这应该得到会计年度(如果它在该单元格中),并且您应该能够将该结果加载到单个stringvariables(您需要预先创build)中。 您需要将其设置为ResultSet = SingleRow,并且需要映射结果集区域。 您不需要使用参数映射区域
在这里看到更多关于如何从单行结果加载variables的信息: https : //www.simple-talk.com/sql/ssis/ssis-basics-using-the-execute-sql-task-to-generate -result套/
- 现在,在您现有的Excel数据源数据stream中,添加派生列转换,并将这些stringvariables作为额外的列插入到表中