仰天一笑(Ansonxuyu),专业从事软件定制开发、Web软件开发,网站建设,网络推广,APP开发,微博应用开发,微信应用开发,电子商务开发,物联网开发等技术。
互联网8年风雨,愿在此交朋识友,交流心得,分享技术知识(策划/研发/运营/推广/合作)!QQ:943530498


仰天一笑

昨日不悔,今日勿失,明日莫忧! —徐羽

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

        .ldb 文件是由共享数据库的使用者自动创建以及删除得。.LDB 文件建立并存储计算机名、用户名以及放置扩展域锁的。.LDB 文件一般与 .MDB 同名,并且与 .MDB 文件在相同目录,在 .MDB 文件被打开时建立并锁定。举个例子,如果你打开 c:\northwind.mdb 文件后 c:\northwind.ldb 文件会自动被建立并被锁定。

当最后一个用户关闭共享数据库时 .ldb 文件会被自动删除。但是当用户没有正常关闭数据库或者数据库已经被标记为损坏,那么 .LDB 文件不会被自动删除,因为 .LDB 文件中存储着数据库损坏时谁正在使用该数据库。

权限问题:
记得要给予 .LDB 文件所在的文件夹一定的权限。
如果你准备共享一个数据库,该 .MDB 文件应该被放置在一个用户拥有读取、写入、建立、删除权限的目录中。即使你要求每个用户有不同的文件权限(比如,只读或者可读写),所有能够共享该数据的用户对该目录都应该拥有读取、写入、建立的权限,但是你可以分配用户对某个 .MDB 文件只拥有只读权限。

注意:如果用独占方式打开某个数据库,那么 MS JET DB 将不会建立 .LDB 文件,此时用户对目录的权限只要求有读取和写入两个权限即可。

.ldb 文件的内容:
MS JET DB ENGINE 会为每个以共享方式打开数据库的使用者在 .LDB 文件中创建一个条目,每个条目的大小是 64 字节。前面 32 字节保存计算机名,后面 32 字节保存用户名。JET DB ENGINE 支持的最大用户数是 255,因此 .LDB 文件的大小不会超过 16 KB。
当一个用户关闭一个共享数据库时,该用户在 .LDB 文件中的条目不会立即被删除,可是该条目会在下一个用户打开这个数据库时被覆盖。这也就意味着你不能通过 .LDB 文件来唯一确定谁是某个数据库的当前使用者。

.LDB 文件的使用方法:
JET DB ENGINE 使用 .LDB 文件中的信息来确定谁锁定了数据,谁正在写入被其他人锁定的数据。如果 JET DB ENGINE 发现有其他用户的锁定冲突,它会读取 .LDB 文件以获取计算机名与用户名谁锁定了文件或者记录。

在多数锁定冲突情况下,你会在存储记录时得到一个 “写入冲突”的提示并且取消你所做的修改。在有些情况下你会得到如下提示:

Couldn't lock table <table name>; currently in use by user <security name> on computer <computer name>.

注意:上述关于 .LDB 文件的信息与数据库文件无关。如果一个 .LDB 文件损坏,数据库文件仍然能够工作正常。但是写入冲突的提示消息中<security name>这个部分你可能会看见一串不知所云的文字。

参考:
在 Access 2000 中,你可以用 VBA 来输出某个数据库的所有登陆用户的信息。

关于此代码请参考:
198755 ACC2000: Checking Who Logged into Database with Jet UserRoster
http://support.microsoft.com/default.aspx?kbid=198755


原文地址:http://support.microsoft.com/default.aspx?kbid=208778

posted on 2007-03-05 10:57  仰天一笑  阅读(1314)  评论(0编辑  收藏  举报