我在两台装了sql server2000的机器上运行下面的代码,其中有一台不能执行返回报错信息,小弟怎么都想不明白原因,希望有高人指点一下/
(C:\文档.xls 分别都放在两台机器对应的目录)
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="C:\文档.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
[OLE/DB provider returned message: 未指定的错误]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:   ]。

解决方案 »

  1.   

    这样呢?SELECT *
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="C:\文档.xls";User ID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]
      

  2.   

    都是微软出品的用来读取ACCESS数据库的程序。只是microsoft.jet.oledb.4.0要比microsft access driver更加安全快捷准确的读取数据,一般服务器上现在都使用的是microsoft.jet.oledb.4.0程序。而microsft access driver的BUG太多,所以,一般现在的服务器提供商都不再使用了。只是我们家用机器上才会使用microsft access driver。这两个程序在使用时也是有一定的差别的(连接代码不一样)。一般情况下,windowsXP等操作系统是不带microsoft.jet.oledb.4.0程序的,只有人工到微软主页上去下载后安装才会有这个程序。所以,只要你没有下载安装过,你的系统里就不会有这个程序的。
    http://download.microsoft.com/download/a/d/f/adfdf363-0b09-4f39-bf89-1b4bc234fe97/windowsxp-kb829558-x86-enu.exe 
    将这个地址复制到迅雷里就可以下载最新的JET4.0了.可能别一台没装
      

  3.   

    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 看来不是了~
      

  4.   

    看看這個http://support.microsoft.com/kb/818182/zh-cn原因
    数据库服务器上的 Microsoft Jet 4.0 (Msjet40.dll) 的版本不正确。
      

  5.   

    将其文件夹设为everyone用户能完全操作试试