--共享远程ACCESS数据库所在的目录(ACCESS不支持SQL式的远程访问,只支持文件式访问,所以必须得共享目录),然后用类似下面的语句访问:SELECT * 
FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="\\远程计算机名或IP地址\共享目录名\test.mdb";Jet OLEDB:Database Password=数据库密码')...[表名]

解决方案 »

  1.   

    服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
    [OLE/DB provider returned message: Microsoft Jet 数据库引擎打不开文件'\\172.18.4.218\ymei\db.mdb'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。]
    请问是什么问题。
    对于172.18.4.218的这个机器,我的用户zhang已经是administrator权限了
      

  2.   

    执行SQL语句的用户是系统管理员吗?
      

  3.   

    --如果你的计算机没有加入到域
    --通过映射网络驱动器解决权限问题--1.映射
    exec master..xp_cmdshell 'net use z: \\172.18.4.218\ymei "zhang的密码" /user:172.18.4.218\zhang'--2.进行查询
    SELECT * 
    FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="z:\db.mdb";Jet OLEDB:Database Password=数据库密码')...[表名]--3.备份完成后删除映射
    exec master..xp_cmdshell 'net use z: /delete'
      

  4.   

    系统发生 1219 错误。提供的凭据与已存在的凭据集冲突。
    但,我已经用net use * /del 命令把连接都删除了。
    可是一执行exec master..xp_cmdshell 'net use z: \\172.18.4.218\ymei "zhang的密码" /user:172.18.4.218\zhang'还是会报1219错误。
      

  5.   

    邹大哥。其实我的问题的源泉是这样的.我们的应用服务器A从网络上接收各个客户端的数据,经过过滤后,把需要存储的数据存入数据库(sql server)B现在应为数据库量太大,每秒钟就要insert 几千条数据,所以我们的核心服务程序压力太大。
    现在考虑,把运行在服务器A上的服务程序所收到的数据先写入本地的,比如access或者excel或者xml都可以。然后在B机器的数据库中开一个job,定时去读这个文件,然后把数据库插入数据库中。
    但现在的问题就是,如何让数据库读远程A机器上这个文件邹大哥,再帮忙扩张一下思路吧。没关系的。反正这个分肯定给你了。
      

  6.   

    如果是这样的话,我觉得数据应该先保存到本地,等到了空闲的时候,数据在上传的sql server数据库中,这样会好些
      

  7.   

    那你为什么不这样?
    1.在A服务器上也用SQL数据库,这样比文件式数据库好处理多了?也不用开什么共享2.为什么不在A服务器上写程序来实现写数据到B服务器? 这样因为B服务器是SQL数据库
      也不用共享什么
      

  8.   

    需要修改服务器端的msdfmap。ini文件。