初始化 Microsoft Jet 4,0 数据库引擎的驱动程序

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

Microsoft Jet 引擎初始化设置

Jet\3.5\Engines\Excel 文件夹包含用来访问外部 Microsoft Excel 工作表的 Msexcl35.dll 驱动程序的初始化设置。文件夹中项目的典型设置显示於下列示例。

SystemDB = <path>\System.mdb

CompactBYPkey = 1

PrevFormatCompactWithUNICODECompression=1

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

项目 说明
SystemDB 指定工作组信息文件的完整路径和文件名。缺省值是适当路径后面跟随着文件名 System.mdb。 在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
CompactByPKey 指定当压缩以主键顺序复制而成的表时,在表上是否存在主键。如果没有主键存在表上,表就以基本表的顺序复制。

0 值指示应该以基本表的顺序压缩;非零值指示如果主键存在,表应该以主键顺序压缩。缺省值是非零值。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在Windows NT 3.51 中是 REG_DWORD 类型。

注意 此设置只应用于压缩 Microsoft Jet 数据库引擎 3.0 或之后的版本所创建的数据库;当您压缩由 2.x 版Microsoft Jet 数据库引擎所创建的数据库,数据总是以基本表的顺序复制。

PrevFormatCompactWithUNICODECompression Microsoft Jet 4.0数据库使用Unicode字符设置存储文本数据。压缩Unicode数据降低了对页的读写操作,因此极大地提高了数据库的性能。

该键决定数据库是由Microsoft Jet数据库引擎3.x版本创建还是应预先由压缩了的Unicode或未经压缩的Unicode创建。

注意:该设置不适用于压缩了的Microsoft Jet 4.0数据库。 Microsoft Jet 4.0数据库会默认保持其创建时的压缩设置。


 Jet\4.0\Engines\Jet 4.0文件夹包含用来访问Microsoft Access 2000工作表的msjet40.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

PagesLockedToTableLock=0

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

项目 说明
PageTimeout 非读入锁定的数据从放入内部高速缓冲起到它变为无效之间的时间长度,以毫秒为单位。缺省值是 5000 毫秒或 5 秒。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在Windows NT 3.51 中是 REG_DWORD 类型。
FlushTransaction
Timeout
此项目禁止 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 类型。
PagesLockedToTableLock 在访问表的大量操作中更有效的是锁住整个表而不是锁定表中每一页。

该设置定义了在锁页转为锁表前任何一个事务中,Microsofr Jet所允许的被锁的页数。

缺省值0表示不要将锁页自动转为锁表。

注意:小心使用该设置。若需要多用户访问数据库,则锁住整表会导致其他用户的锁定冲突。这一点在设置值较小时特别严重。设置值较大时,例如25或50,其他用户的操作也会变得不可预知。


Microsoft Jet 引擎初始化设置

 Jet\4.0\Transproter键包括由Jet Synchronizer设置的Jet Replication同步的初始值。该设置确定由Synchtonizer同步信号尝试具体的传输。有效值为0-100。0表示不允许传输。所有非零值的传输类型都会按递增的键值顺序被尝试,直到有一个成功地实现了同步或所有的都失败。

文件夹中项目的典型设置显示於下列示例。

Priority_FS=1

Priority_Internet=2

Priority_direct=3

Microsoft Jet 数据库引擎使用下列优先级输入项。

项目 说明
Priority_FS 文件系统(间接)同步化 取决于副本间的一系列的消息转换。管理各个副本的同步装置把转换收集成“信息文件”(*.msg),然后“信息文件”被复制到一个可共享的文件夹──叫做“下拉框”,可供其他同步装置使用并且可通过文件系统访问。
Priority_Internet Internet(间接)同步化 取决于副本间的一系列的消息转换。只有由Internet服务器上的同步装置管理的副本有下拉框,可通过HTTP或FTP连接访问。
Priority_direct Direct 同步化是交换一个副本集中两个成员间的数据和设计变化的程序,副本集可以是在单机上也可以是在网络上直接相连的。两个数据库都由同步装置打开。


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


请参阅

定制 Microsoft Jet 的 Windows 注册环境