导入excel时 OLE DB 4和OLE DB 12接口不能同时使用吗?
我有个存储过程3个参数是导入3个excel文件,考虑到用户excel版本的有2003和2007,
导入时代码根据文件扩展名识别,使用的oledb接口也不一样,
我发现导入的3个文件格式都一样时没有问题,一旦参数中同时包含2003和2007不同版本的文件
会报错:
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的数据源对象。
我已经将接口属性“动态参数”和“进程内使用”全部勾选或取消,然后重启服务,但不管怎么设置都不能满足需要
这两个接口是不是不能同时使用呢?
以下是导入代码
excel2007:SELECT * FROM OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source=C:\***.xlsx;Extended properties="Excel 12.0;HDR=Yes"')...[Sheet1$]
excel2003:SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=C:\***.xls;Extended properties = Excel 8.0')...[Sheet1$]