初始化 Microsoft Jet 3.5 数据库引擎的驱动程序

初始化 Microsoft Jet 3.5 数据库引擎的驱动程序

当安装 Microsoft Jet 3,5 引擎数据库的驱动程序时,设置程序会在引擎的 Windows 注册表和 ISAM Formats 子键写入一些缺省值。不应直接修改这些设置;而应使用应用程序的设置程序来添加、删除、或更改这些设置。下列部分描述 Microsoft Jet 2.5 引擎数据库驱动程序的初始化和 ISAM Formats 设置。

Microsoft Jet 引擎初始化设置

Jet\4.0\Engines\Jet 3.x文件夹包含msrd3x40.dll驱动程序的初始化设置,用来访问Microsoft Access 97工作表。文件夹中项目的典型设置显示於下列示例。

win32=<path>\ msrd3x40.dll

FlushTransactionTimeout=500

LockDelay=100

LockRetry=20

MaxBufferSize= 0

MaxLocksPerFile= 9500

PageTimeout=5000

Threads=3

UserCommitSync=Yes

ImplicitCommitSync=No

ExclusiveAsyncDelay=2000

SharedAsyncDelay=0

RecycleLVs=0

SortMemorySource=0

Microsoft Jet 数据库引擎使用下列项目。

项目

说明

win32

数据库引擎驱动程序( dll)的位置。完整路径在安装时就已确定。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。

PageTimeout

非读入锁定的数据从放入内部高速缓冲起到它变为无效之间的时间长度,以毫秒为单位。缺省值是 5000 毫秒或 5 秒。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在Windows NT 3.51 中是 REG_DWORD 类型。

FlushTransactionTimeout

此项目禁止 ExclusiveAsyncDelay 和 SharedAsyncDelay 注册表项。若要使这两项目有效,必须输入零值。FlushTransactionTimeout 更改 Microsoft Jet 数据库引擎往数据库文件中异步写入的方法。从前,Microsoft Jet 数据库引擎使用 ExclusiveAsyncDelay 或 SharedAsyncDelay 来决定在强制异步写入前,要等待多久。然而,现在 FlushTransactionTimeout 改变了这种情况,因为 FlushTransactionTimeout 有一个值,它只在指定的时间量被超出之后,并且没有页添加至高速缓冲的条件下,会启动异步写入。唯一的例外是,如果高速缓冲超出了 MaxBufferSize,在那一点上高速缓冲会启动异步写入,而不管时间是否已经超过。因此 Microsoft Jet 3.5 数据库引擎在启动异步写入前将非活动地等待 500 毫秒,或等到高速缓冲大小已被超出。

LockDelay

此设置可和 LockRetry 设置联合工作,它会使每一个 LockRetry 在发出另一个锁定请求前等待 100 毫秒。添加 LockDelay 设置是为了防止某些网络操作系统会发生的“激增”现象。

MaxLocksPerFile

此设置防止 Microsoft Jet 的处理超出指定值。如果处理中的锁定企图超出此值,处理将分裂成两个或更多个部分且部分地交付。添加该设置来防止当超出指定的 Netware 锁定限制时,Netware 3.1 服务器会发生的毁损,及改善 Netware 和 NT 的性能。

LockRetry

在返回锁定冲突消息之前,重复尝试访问一锁定页的次数。缺省值是 20。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。

RecycleLVs

此设置为有效时将使 Microsoft Jet 循环利用 long 值 (LV) 页 (Memo, Long Binary [OLE对象]、和 Binary 数据类型) 。在最后一个用户关闭数据库之前,Microsoft Jet 3.0 不循环利用这些类型的页。如果 RecyleLVs 设置为有效,当追加数据库时(即,当添加几个页的组时),Microsoft Jet 3.5 将开始循环利用大部分的 LV 页。

注意 使用此特性时,用户会注意到处理 long 值数据时的性能下降。Microsoft Access 97在操作模块、窗体以及报告时会自动启动和禁止该特性,因此在修改这些对象时不需要打开此项目。缺省值是 0。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。

MaxBufferSize

数据库引擎内部高速缓存的大小,以一千字节(K)为单位。MaxBufferSize 必须是大于等于 512 的整型值。 缺省值根据下列公式:

((TotalRAM in MB -12 MB) / 4) + 512 KB

例如,在有 32 MB RAM 的系统上,缺省缓冲区大小是((32 MB - 12 MB) / 4) + 512 KB 或 5632 KB。若要将值设为缺省值,请设置注册键为

MaxBufferSize=

在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在Windows NT 3.51 中是 REG_DWORD 类型。

Threads

Microsoft Jet 数据库引擎可用的背景线程数。缺省值是 3。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。

UserCommitSync

指定系统是否等待交付完成。值为Yes,命令系统等待;而 No 则命令系统执行异步交付。缺省值为 Yes。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。

ImplicitCommitSync

指定系统是否等待交付完成。No,命令系统不要等待交付完成而继续;Yes则命令系统等待交付完成。缺省值是 512。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。

ExclusiveAsyncDelay

指定延迟独占数据库的异步刷新的时间长度,以毫秒为单位。缺省值是 2000 或 2 秒。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在Windows NT 3.51 中是 REG_DWORD 类型。

SharedAsyncDelay

指定延迟共享数据库的异步刷新的时间长度,以毫秒为单位。缺省值是 0。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。

SortMemorySource

说明Microsoft Jet如何获得排序使用的内存。0表示内存取自于堆。1表示内存可通过malloc函数取自总内存。

 

Microsoft Jet 引擎 ISAM 格式

Jet\3.5\ISAM Formats\Paradox 3.x 文件夹包含下列项目。

项目

Windows NT 3.51 类型

Windows 95 and Windows NT 4.0 类型

Engine

REG_SZ

String

Jet 3.x

OneTablePerFile

REG_BINARY

Binary

00

IndexDialog

REG_BINARY

Binary

00

CreateDBOnExport

REG_BINARY

Binary

00

IsamType

REG_DWORD

DWORD

0

 


注意 当更改 Windows 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。


请参阅

定制 Microsoft Jet 的 Windows 注册环境