因工作需要,文件多,手工太麻烦了。所以使用命令导入。
环境:本机OS WIN7 64位,SQL SERVER 2008R2 64位,OFFICE 64位, AccessDatabaseEngine_X64(已经上传到资源中)。
目的:分散的excel文件,格式表头一致,导入到SQL 的同一个表中。
在SQL中二次利用。
注:本地导入。
1、OFFICE 32位换成64位的,安装AccessDatabaseEngine_X64。
2、修改“链接服务器”中的ACE设置,如图:
对象资源管理器--服务器对像--链接报务器--Microsoft.ACE.OLEDB.12.0 的属性,勾上:动态参数,允许进程内。
2、使用语句
insert into [数据库].[dbo].[数据库表名] select * from OpenRowSet
('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=Yes;IMEX=1;Database=E:\excel文件\1.xls' , [Sheet1$] )
注:Sheetl就是EXCEL文件中的工作表,Database等于号后面不能有空格。
测试的时候发现表的ID不是从1开始了,可以执行
dbcc checkident('数据库表名',reseed,0)