1.sqlserver 读取 excel中的数据
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
2.sqlserver 插入 excel中的数据
2.1 插入已经存在的表
INSERT INTO t_1 (a,b )
SELECT a, b
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0' )...[Sheet1$] AS derivedtbl_1
2.2 插入新表
SELECT a, b
INTO t_2
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0' )...[Sheet1$] AS derivedtbl_1
常见问题:
(1)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序
需要注意的问题和解决方法:
1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,;
2.Data Source不要写成“Data Sourse”,
3.检查是否安装了Office
4.重新安装注册MDAC28.exe (一般你的安装目录里有或者到微软的官方网站上下)
5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86
(2)SQLServer需要打开 OPENROWSET and OPENDATASOURCE support ,然后重启sqlserver
具体参考下图: