SqlServer express 2005 导入 excel表的SQL语句
需要在SqlServer express 2005 中 导入 excel表数据
试用三个SQL语句,出现了下面的错误信息。
insert into 表 select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=F:\数据.xlsx',sheet1$)
SELECT * into GuS
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="F:\古树名木数据.xls";User ID=;Password=;Extended properties=Excel 5.0')...[sheet1$]
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。
解决问题:
1、在SQL Server 外围应用配置器中启用 OpenRowSet 和 OpenDataSource函数
2、执行以上sql语句的数据库必须是本地数据库,如果为远程的数据库就会报上面的错误
3、链接字符串 Extended Properties属性的内容要以分号间隔并用双引号括起来,sheet1$ 在括号外。并且excel中文件薄名为sheet1
4、注意office的版本4.0是office2003,12.0是office2007的版本,看看是否装了驱动。
4.0驱动对应的是office2003,excel文件的后缀为xls