从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"