如何用ado 同时操作Access数据库与SQL server 2000数据库?EXEC sp_addlinkedserver 
   @server = 'BDData', 
   @provider = 'Microsoft.Jet.OLEDB.4.0', 
   @srvproduct = 'OLE DB Provider for Jet',
   @datasrc = 'D:\mdb\data.mdb'select * from [BDData]...[TestTable]服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
[OLE/DB provider returned

解决方案 »

  1.   

    --访问Access的连接串:--访问本地MDB的ADO连接串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.MDB;User ID=admin;Password=;Jet OLEDB:Database Password=000其中第一个password为Access的用户admin的密码,第二个为Access数据库的密码
    如果未设置数据库密码,可省略此项。
    --ADO连接串(访问网络MDB):Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名或IP\共享目录\Test.MDB;User ID=admin;Password=;Jet OLEDB:Database Password=;其中第一个password为Access的用户admin的密码,第二个为Access数据库的密码
    如果未设置密码,可省略相关项。
      

  2.   

    --SQL Server连接串:DRIVER={SQL SERVER};SERVER=服务器名或IP;DATABASE=数据库名;UID=用户名;PWD=密码
      

  3.   

    wangtiecheng(不知不为过,不学就是错!) 你好,
    如果我对 SQL Server 数据库与Access数据库都建立连接之后,如何对关联两个数据库操作呢
    比如说:我要用SQL Server 数据库MyDB 中的TestTable表 更新 Access数据库 中的TestTable????
      

  4.   

    --如果主连接是SQL Server,即在SQL Server中执行update语句,用如下:
    update A set A.name=B.name
    from T1 as A inner join 
    OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'D:\Test.mdb';'admin';'', T2)  as B on A.id=B.id
      

  5.   

    但是:在查询分析器执行时提示:
    服务器: 消息 7415,级别 16,状态 1,行 1
    已拒绝对 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
      

  6.   

    创建链接服务器后,用openquery()处理。