.ldb文件到底派什么用场得?
本文参考地址:http://support.microsoft.com/default.aspx?kbid=208778
摘要:
.ldb文件在多用户环境下是非常重要得。该文件被 MS Jet DB Engine V4.0 用来确定被共享的数据库中哪条记录被锁定以及被谁锁定
更多信息:
.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