从Excel工作表中提取数据到多个SQL Server表

我有一个Excel文件,有几列(20)和一些数据,我需要上传到4个SQL Server表。 这些表是相关的,特定的列表示每个表的我的ID。

是否有一个ETL工具可以用来自动化这个过程?

此查询使用bulk insert将文件存储在#temptable ,然后将此临时表中的内容插入到数据库中所需的表中,但导入的文件是.csv 。 你可以保存你的excel文件为csv ,在这之前。

  CREATE TABLE #temptable (col1,col2,col3) BULK INSERT #temptable from 'C:\yourfilelocation\yourfile.csv' WITH ( FIRSTROW = 2, fieldterminator = ',', rowterminator = '0x0A' ) ` INSERT INTO yourTableInDataBase (col1,col2,col3) SELECT (col1,col2,col3) FROM #temptable 

为了实现这个function,你可以把它放在一个存储过程中,然后使用批处理调用存储过程。编辑这段代码,并将其放入textfile并保存为cmd

 set MYDB= yourDBname set MYUSER=youruser set MYPASSWORD=yourpassword set MYSERVER=yourservername sqlcmd -S %MYSERVER% -d %MYDB% -U %MYUSER% -P %MYPASSWORD% -h -1 -s "," -W -Q "exec yourstoredprocedure" 
Interesting Posts