关于多用户的共享数据库问题。如何实现一个abc.MDB,被不同联网计算机的用户同时读取和写入?

解决方案 »

  1.   

    首先多用户共享数据库,建义使用SQL Server等大型数据库软件。
    .mdb是Access数据库,一般用于单机的环境。如果一定要用access数据库,那么你要注意:
    记录集的游标类型,记录锁类型等。
      

  2.   

    ADO对象游标类型:
    CursorType 属性:指示在 Recordset 对象中使用的游标类型。设置和返回值设置或返回以下某个 CursorTypeEnum 值。常量                                         说明 
    AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。 
    AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。 
    AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。 
    AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。
    说明
    使用 CursorType 属性可指定打开 Recordset 对象时应该使用的游标类型。Recordset 关闭时 CursorType 属性为读/写,而 Recordset 打开时该属性为只读。如果将 CursorLocation 属性设置为 adUseClient 则只支持 adUseStatic 的设置。如果设置了不支持的值,不会导致错误,将使用最接近支持的 CursorType。如果提供者不支持所请求的游标类型,提供者可能会返回其他游标类型。打开 Recordset 对象时,将更改 CursorType 属性使之与实际使用的游标匹配。要验证返回游标的指定功能,请使用 Supports 方法。关闭 Recordset 后,CursorType 属性将恢复为最初的设置。下表说明每个游标类型所需的提供者功能(由 Supports 方法常量标识)。 对于该 CursorType 的某Recordset  对于所有这些常量, Supports 方法必须返回 True 
    AdOpenForwardOnly 无 
    AdOpenKeyset AdBook、adHoldRecords、adMovePrevious、adResync 
    AdOpenDynamic adMovePrevious 
    AdOpenStatic adBook, adHoldRecords, adMovePrevious, adResync 注意   尽管对于动态游标和仅向前游标 Supports(adUpdateBatch) 可能是真,但对于批处理更新应使用键集游标或静态游标。请将 LockType 属性设置为 adLockBatchOptimistic,然后将 CursorLocation 属性设置为 adUseClient 以启用批更新需要的 OLE DB 游标服务。
      

  3.   

    ADO对象记录锁类型:
    LockType 属性
          指示编辑过程中对记录使用的锁定类型。设置和返回值设置或返回以下某个 LockTypeEnum 的值。常量 说明 
    adLockReadOnly 默认值,只读。无法更改数据。 
    adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。 
    adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。 
    adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。 
    说明打开 Recordset 前设置 LockType 属性可指定打开时提供者应该使用的锁定类型。读取该属性可返回在打开的 Recordset 对象上正在使用的锁定类型。Recordset 关闭时 LockType 属性为读/写,打开时该属性为只读。提供者可能不支持所有的锁定类型。如果某提供者不支持所需的 LockType 设置,则将替换为其他类型的锁定。要确定 Recordset 对象可用的实际锁定功能,请通过 adUpdate 和 adUpdateBatch 使用 Supports 方法。如果 CursorLocation 属性被设置为 adUseClient,将不支持 adLockPessimistic 设置。设置不支持的值不会产生错误,因为此时将使用支持的最接近的 LockType 的值。
      

  4.   

    有关更多的ADO说明,请见MSDN。
      

  5.   

    相信chenyu5188,他可是很强的,我很多问题都是向他请教的
      

  6.   

    原来都使用映射驱动器,不如换大型数据库,不过我现在单机版的软件也使用mysql,推荐使用MySQL,,