博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询...
阅读量:6838 次
发布时间:2019-06-26

本文共 794 字,大约阅读时间需要 2 分钟。

遇到了一个问题,从excel导入数据到sql2005,之前操作过很多次,这次遇到了一些新情况。

  使用的语句如下:

  select * from OpenRowSet

         ('Microsoft.Jet.OLEDB.4.0',
          'Excel 8.0;HDR=Yes;IMEX=1;Database=E:\bb.xls',
           [Sheet1$]
          )
 结果提示错误:因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。

  查了很多资料一般都是客户端和服务器端都是64位系统的情况。

 我这边的情况,客户端使用的是32位的xp系统,服务器sql2005是64位的系统,和很多查到的情况不一样。

 后来我在服务器上安装了ACE2010的驱动,64位的。

 

修改了代码

 select * from OpenRowSet

         ('Microsoft.ACE.OLEDB.12.0',
          'Excel 8.0;HDR=Yes;IMEX=1;Database=E:\bb.xls',
           [Sheet1$]
          )
但是还是出错,提示信息如下:

无法从链接服务器 "(null)" 的 OLE DB 访问接口"Microsoft.ACE.OLEDB.12.0"获取列信息。

 

后来看到一个文章说执行以上sql语句的数据库必须是本地数据库,如果为远程的数据库就会报上面的错误。

我尝试在本地的32位系统上的数据库操作,一切正常

然后我又在服务器上上传了excel文件,在服务器上执行语句,一切正常。

然后又在本地执行相同的语句,注意这里的e盘的bb的excel是指的服务器上的e盘,正常。

 

转自: 

个人学习收藏

转载于:https://www.cnblogs.com/xiaopin/archive/2013/01/06/2847765.html

你可能感兴趣的文章
C 入门 第九节 结构体指针
查看>>
WEB Application Development Integrator : 应用设置
查看>>
Revit API导出GBXML
查看>>
Android实现ListView圆角效果
查看>>
iOS - Regex 正则表达式
查看>>
Python--day64--内容回顾
查看>>
润乾V5手机报表说明文档
查看>>
Unix系统介绍
查看>>
照片切换
查看>>
求矩阵的局部极大值(15)
查看>>
Eclipse详细设置护眼背景色和字体颜色并导出
查看>>
Android Gradle 构建工具(Android Gradle Build Tools)是什么?
查看>>
AOP和IOC的作用
查看>>
Apache的Rewrite规则详细介绍
查看>>
ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
查看>>
go语言的selector
查看>>
ipa 打包遇到的坑
查看>>
正则表达式
查看>>
js之操作JSON数据
查看>>
Design Hit Counter
查看>>