适用于 Microsoft Jet 的 Microsoft OLE DB 提供程序概述

适用于 Microsoft Jet 的 OLE DB 提供程序允许 ADO 访问 Microsoft Jet 数据库。

连接字符串参数

若要连接到此提供程序,请将 ConnectionString 属性的 Provider 参数设置为以下值:

Microsoft.Jet.OLEDB.4.0

读取 提供程序 属性也会返回此字符串。

典型连接字符串

此提供程序的典型连接字符串是:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=MyUserID;Password=<password>;"

字符串由以下关键字组成:

关键词 描述
提供程序 指定 Microsoft Jet 的 OLE DB 提供程序。
数据源 指定数据库路径和文件名(例如,c:\Northwind.mdb)。
用户识别码 指定用户名。 如果未指定此关键字,则默认使用字符串“admin”。
密码 指定用户密码。 如果未指定此关键字,则默认使用空字符串(“)。

注意

如果要连接到支持 Windows 身份验证的数据源提供程序,则应指定 Trusted_Connection=yesIntegrated Security = SSPI,而不是连接字符串中的用户 ID 和密码信息。

Provider-Specific 连接参数

除 ADO 定义的动态属性外,适用于 Microsoft Jet 的 OLE DB 提供程序还支持多个特定于提供程序的动态属性。 与所有其他 连接 参数一样,可以使用 Connection 对象的 属性 集合或连接字符串的一部分来设置这些参数。

下表列出了这些属性以及括号中的相应 OLE DB 属性名称。

参数 描述
Jet OLEDB:压缩回收空间量(DBPROP_JETOLEDB_COMPACTFREESPACESIZE) 指示通过压缩数据库可以回收的空间量(以字节为单位)。 此值仅在建立数据库连接后有效。
Jet OLEDB:连接控制(DBPROP_JETOLEDB_CONNECTIONCONTROL) 指示用户是否可以连接到数据库。
Jet OLEDB:创建系统数据库(DBPROP_JETOLEDB_CREATESYSTEMDATABASE) 指示创建新数据源时是否应创建系统数据库。
Jet OLEDB:数据库锁定模式(DBPROP_JETOLEDB_DATABASELOCKMODE) 指示此数据库的锁定模式。 打开数据库的第一个用户确定数据库打开时使用的模式。
Jet OLEDB:Database Password (DBPROP_JETOLEDB_DATABASEPASSWORD) 指示数据库密码。
Jet OLEDB:不要在 Compact 上复制区域设置 (DBPROP_JETOLEDB_COMPACT_DONTCOPYLOCALE) 指示在精简数据库时 Jet 是否应该复制区域信息。
Jet OLEDB:Encrypt Database (DBPROP_JETOLEDB_ENCRYPTDATABASE) 指示是否应加密压缩的数据库。 如果未设置此属性,则如果原始数据库也已加密,则会加密压缩的数据库。
Jet OLEDB:引擎类型(DBPROP_JETOLEDB_ENGINE) 指示用于访问当前数据存储的存储引擎。
Jet OLEDB:独占异步延迟(DBPROP_JETOLEDB_EXCLUSIVEASYNCDELAY) 指定 Jet 在以独占方式打开数据库时,可以延迟写入磁盘的异步操作的最大时间长度(以毫秒为单位)。

除非 Jet OLEDB:Flush Transaction Timeout 设置为 0,否则将忽略此属性。
Jet OLEDB:Flush 事务超时(DBPROP_JETOLEDB_FLUSHTRANSACTIONTIMEOUT) 表示在缓存中存储的数据被异步写入磁盘前需要等待的时间。 此设置替代 Jet OLEDB:Shared Async DelayJet OLEDB:Exclusive Async Delay的值。
Jet OLEDB:Global Bulk Transactions (DBPROP_JETOLEDB_GLOBALBULKNOTRANSACTIONS) 指示 SQL 批量事务是否在事务中执行。
Jet OLEDB:全局部分批量操作(DBPROP_JETOLEDB_GLOBALBULKPARTIAL) 指示用于打开数据库的密码。
Jet OLEDB:隐式提交同步(DBPROP_JETOLEDB_IMPLICITCOMMITSYNC) 指示在内部隐式事务中所做的更改是以同步模式还是异步模式写入。
Jet OLEDB:Lock Delay(DBPROP_JETOLEDB_LOCKDELAY) 指示在上一次尝试失败后尝试获取锁之前等待的毫秒数。
Jet OLEDB:Lock Retry (DBPROP_JETOLEDB_LOCKRETRY) 指示尝试访问锁定页面的重复次数。
Jet OLEDB:最大缓冲区大小(DBPROP_JETOLEDB_MAXBUFFERSIZE) 指示在开始将更改写入磁盘之前,Jet 可以使用的最大内存量(以 KB 为单位)。
Jet OLEDB:每个文件的最大锁数(DBPROP_JETOLEDB_MAXLOCKSPERFILE) 指示 Jet 可以在数据库上放置的最大锁数。 默认值为 9500。
Jet OLEDB:New Database Password (DBPROP_JETOLEDB_NEWDATABASEPASSWORD) 指示要为此数据库设置的新密码。 旧密码存储在 Jet OLEDB:Database Password中。
Jet OLEDB:ODBC 命令超时(DBPROP_JETOLEDB_ODBCCOMMANDTIMEOUT) 指示 Jet 远程 ODBC 查询超时前的毫秒数。
Jet OLEDB:Page Locks to Table Lock (DBPROP_JETOLEDB_PAGELOCKSTOTABLELOCK) 在 Jet 尝试将锁提升为表锁之前,指示需要在事务中锁定多少页。 如果此值为 0,则锁将不会升级。
Jet OLEDB:Page Timeout (DBPROP_JETOLEDB_PAGETIMEOUT) 指示 Jet 将等待的毫秒数,然后检查其缓存是否与数据库文件过期。
Jet OLEDB:“回收 Long-Valued 页面”(DBPROP_JETOLEDB_RECYCLELONGVALUEPAGES) 指示 Jet 是否应在释放 BLOB 页时积极尝试回收这些页面。
Jet OLEDB:Registry Path (DBPROP_JETOLEDB_REGPATH) 指示包含 Jet 数据库引擎值的 Windows 注册表项。
Jet OLEDB: 重置 ISAM 统计信息 (DBPROP_JETOLEDB_RESETISAMSTATS) 指示架构 Recordset DBSCHEMA_JETOLEDB_ISAMSTATS 在返回性能信息后是否应重置其性能计数器。
Jet OLEDB:共享异步延迟(DBPROP_JETOLEDB_SHAREDASYNCDELAY) 指示在多用户模式下打开数据库时,Jet 可以延迟对磁盘的异步写入的最大时间(以毫秒为单位)。
Jet OLEDB:System Database (DBPROP_JETOLEDB_SYSDBPATH) 指示工作组信息文件(系统数据库)的路径和文件名。
Jet OLEDB:事务提交模式(DBPROP_JETOLEDB_TXNCOMMITMODE) 指示 Jet 是在提交事务时同步还是异步将数据写入磁盘。
Jet OLEDB:User Commit Sync (DBPROP_JETOLEDB_USERCOMMITSYNC) 指示在事务中所做的更改是以同步模式还是异步模式写入。

Provider-Specific 记录集和命令属性

Jet 提供程序还支持多个特定于提供程序的 RecordsetCommand 属性。 可通过 RecordsetCommand 对象的 Properties 集合访问和设置这些属性。 该表在括号中列出了 ADO 属性名称和其相应的 OLE DB 属性名称。

属性名称 描述
Jet OLEDB:批量事务(DBPROP_JETOLEDB_BULKNOTRANSACTIONS) 指示是否对 SQL 批量操作进行事务处理。 由于资源延迟,大型批量操作在事务处理中可能会失败。
Jet OLEDB:启用脂肪光标(DBPROP_JETOLEDB_ENABLEFATCURSOR) 指示在为远程行源填充记录集时,Jet 是否应缓存多行。
Jet OLEDB:Fat Cursor 缓存大小(DBPROP_JETOLEDB_FATCURSORMAXROWS) 指示使用远程数据存储行缓存时要缓存的行数。 如果 Jet OLEDB:Enable Fat Cursors 不为 True,则忽略此值。
Jet OLEDB:不一致(DBPROP_JETOLEDB_INCONSISTENT) 指示查询结果是否允许不一致的更新。
Jet OLEDB:锁定粒度(DBPROP_JETOLEDB_LOCKGRANULARITY) 指示是否使用行级锁定打开表。
Jet OLEDB:ODBC Pass-Through 语句(DBPROP_JETOLEDB_ODBCPASSTHROUGH) 指示 Jet 应将 Command 对象中的 SQL 文本传递到后端未更改。
Jet OLEDB:部分批量操作(DBPROP_JETOLEDB_BULKPARTIAL) 指示当 SQL DML 操作失败时 Jet 的行为。
Jet OLEDB:传递查询 Bulk-Op(DBPROP_JETOLEDB_PASSTHROUGHBULKOP) 指示不返回 Recordset 的查询是否原样传递到数据源。
Jet OLEDB:传递查询连接字符串(DBPROP_JETOLEDB_ODBCPASSTHROUGHCONNECTSTRING) 指示用于连接到远程数据存储的 Jet 连接字符串。 除非 Jet OLEDB:ODBC Pass-Through 语句 为 True,否则将忽略此值。
Jet OLEDB:Stored Query(DBPROP_JETOLEDB_STOREDQUERY) 指示命令文本是否应解释为存储查询而不是 SQL 命令。
Jet OLEDB:验证设置的规则(DBPROP_JETOLEDB_VALIDATEONSET) 指示何时评估 Jet 验证规则,是在设置列数据时还是在将更改提交到数据库时进行评估。

默认情况下,Microsoft Jet 的 OLE DB 提供程序以读/写模式打开 Microsoft Jet 数据库。 若要在只读模式下打开数据库,请将 ADO Connection 对象的 Mode 属性设置为 adModeRead

命令对象用法

Command 对象中的命令文本使用 Microsoft Jet SQL 方言。 可以在命令文本中指定行返回查询、操作查询和表名;但是,存储过程不受支持,不应指定。

记录集行为

Microsoft Jet 数据库引擎不支持动态游标。 因此,适用于 Microsoft Jet 的 OLE DB 提供程序不支持 adLockDynamic 游标类型。 请求动态游标时,提供程序将返回键集游标并重置 CursorType 属性,以指示返回的 Recordset 的类型。 此外,如果请求可更新的 RecordsetLockTypeadLockOptimisticadLockBatchOptimisticadLockPessimistic),提供程序将会返回关键集游标并重设 CursorType 属性。

动态属性

适用于 Microsoft Jet 的 OLE DB 访问接口将多个动态属性插入未打开的 连接RecordsetCommand 对象的 Properties 集合中。

下表是每个动态属性的 ADO 和 OLE DB 名称的交叉索引。 OLE DB 程序员参考按术语“Description”引用 ADO 属性名称。可以在 OLE DB 程序员参考中找到有关这些属性的详细信息。

连接动态属性

以下属性将添加到 Connection 对象的 Properties 集合中。

ADO 属性名称 OLE DB 属性名称
活动会话 DBPROP_ACTIVESESSIONS
可异步中止 DBPROP_ASYNCTXNABORT
异步提交 DBPROP_ASYNCTNXCOMMIT
自动提交隔离级别 DBPROP_SESS_AUTOCOMMITISOLEVELS
目录位置 DBPROP_CATALOGLOCATION
目录名称 DBPROP_CATALOGTERM
列定义 DBPROP_COLUMNDEFINITION
当前目录 DBPROP_CURRENTCATALOG
数据源 DBPROP_INIT_DATASOURCE
数据源名称 DBPROP_DATASOURCENAME
数据源对象线程模型 DBPROP_DSOTHREADMODEL
DBMS 名称 DBPROP_DBMSNAME
DBMS 版本 DBPROP_DBMSVER
GROUP BY 支持 DBPROP_GROUPBY
异构表支持 DBPROP_HETEROGENEOUSTABLES
标识符区分大小写 DBPROP_IDENTIFIERCASE
隔离级别 DBPROP_SUPPORTEDTXNISOLEVELS
隔离保留期 DBPROP_SUPPORTEDTXNISORETAIN
区域设置标识符 DBPROP_INIT_LCID
最大索引大小 DBPROP_MAXINDEXSIZE
最大行大小 DBPROP_MAXROWSIZE
最大行大小包括 BLOB DBPROP_MAXROWSIZEINCLUDESBLOB
SELECT 中的最大表数 DBPROP_MAXTABLESINSELECT
模式 DBPROP_INIT_MODE (数据库初始化模式)
多个参数集 DBPROP_MULTIPLEPARAMSETS
多个结果 DBPROP_MULTIPLERESULTS
多个存储对象 DBPROP_MULTIPLESTORAGEOBJECTS
多表更新 DBPROP_MULTITABLEUPDATE
NULL 排序规则顺序 DBPROP_NULLCOLLATION
NULL 串联行为 DBPROP_CONCATNULLBEHAVIOR
OLE DB 版本 DBPROP_PROVIDEROLEDBVER
OLE 对象支持 DBPROP_OLEOBJECTS
开放行集支持 DBPROP_OPENROWSETSUPPORT
选择列表中的列 ORDER BY DBPROP_ORDERBYCOLUMNSINSELECT
输出参数可用性 DBPROP_OUTPUTPARAMETERAVAILABILITY
通过 Ref 访问器传递 DBPROP_BYREFACCESSORS
密码 DBPROP_AUTH_PASSWORD
持久 ID 类型 DBPROP_PERSISTENTIDTYPE
准备中止行为 DBPROP_PREPAREABORTBEHAVIOR
准备设定提交行为 DBPROP_PREPARECOMMITBEHAVIOR
过程术语 DBPROP_PROCEDURETERM
提示 DBPROP_INIT_PROMPT
提供程序友好名称 DBPROP_PROVIDERFRIENDLYNAME
提供者名称 DBPROP_PROVIDERFILENAME
提供程序版本 DBPROP_PROVIDERVER
Read-Only 数据源 DBPROP_DATASOURCEREADONLY
命令上的行集转换 DBPROP_ROWSETCONVERSIONSONCOMMAND
架构术语 DBPROP_SCHEMATERM
模式用法 DBPROP_SCHEMAUSAGE
SQL 支持 DBPROP_SQLSUPPORT
结构化存储 DBPROP_STRUCTUREDSTORAGE
子查询支持 DBPROP_SUBQUERIES
表格术语 DBPROP_TABLETERM
事务 DDL DBPROP_SUPPORTEDTXNDDL
用户 ID DBPROP_AUTH_USERID
用户名 DBPROP_USERNAME
窗口句柄 DBPROP_INIT_HWND

Recordset 动态属性

以下属性将添加到 Recordset 对象的 Properties 集合中。

ADO 属性名称 OLE DB 属性名称
访问顺序 DBPROP_ACCESSORDER (访问顺序属性)
Append-Only 行集 DBPROP_APPENDONLY
阻止存储对象 DBPROP_BLOCKINGSTORAGEOBJECTS
书签类型 DBPROP_BOOKMARKTYPE
可书签 DBPROP_IROWSETLOCATE
已排序书签 DBPROP_ORDEREDBOOKMARKS
缓存延迟列 DBPROP_CACHEDEFERRED
更改已插入的行 DBPROP_CHANGEINSERTEDROWS
列权限 DBPROP_COLUMNRESTRICT
列集合通知 DBPROP_NOTIFYCOLUMNSET
列可写 DBPROP_MAYWRITECOLUMN
推迟处理的列 DBPROP_DEFERRED
延迟存储对象更新 DBPROP_DELAYSTORAGEOBJECTS
向后提取 DBPROP_CANFETCHBACKWARDS
保留行 DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
ILockBytes DBPROP_ILockBytes
不移动行 DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetIndex DBPROP_IRowsetIndex
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsestLocate
IRowsetResynch
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
IStorage DBPROP_IStorage
IStream DBPROP_IStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
文字书签 DBPROP_LITERALBOOKMARKS
文本行标识 DBPROP_LITERALIDENTITY
最大可用行数 DBPROP_MAXOPENROWS
最大等待行数 DBPROP_MAXPENDINGROWS
最大行数 DBPROP_MAXROWS
内存使用情况 DBPROP_MEMORYUSAGE
通知粒度 DBPROP_NOTIFICATIONGRANULARITY
通知阶段 DBPROP_通知阶段
交易的对象 DBPROP_TRANSACTEDOBJECT
其他人的更改可见 需要更新或删除其他的记录
其他人的插入可见 DBPROP_OTHERINSERT
自己的更改可见 DBPROP_OWNUPDATEDELETE
自己的插入可见 DBPROP_OWNINSERT
在中止时保留 DBPROP_ABORTPRESERVE
在提交时保留 DBPROP_COMMITPRESERVE
快速重启 DBPROP_QUICKRESTART
重入事件 DBPROP_REENTRANTEVENTS
移除已删除的行 DBPROP_REMOVEDELETED
报告多个更改 DBPROP_REPORTMULTIPLECHANGES
返回未完成的插入操作 DBPROP_RETURNPENDINGINSERTS
行删除通知 DBPROP_NOTIFYROWDELETE
第一行更改通知 DBPROP_NOTIFYROWFIRSTCHANGE
行插入通知 DBPROP_NOTIFYROWINSERT
行级权限 DBPROP_ROWRESTRICT
行重新同步通知 DBPROP_NOTIFYROWRESYNCH
行线程模型 DBPROP_ROWTHREADMODEL
行撤消更改通知 DBPROP_NOTIFYROWUNDOCHANGE
行撤消删除通知 DBPROP_NOTIFYROWUNDODELETE
行撤消插入通知 DBPROP_NOTIFYROWUNDOINSERT
行更新通知 DBPROP_NOTIFYROWUPDATE
行集提取位置更改通知 DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE
行集发布通知 DBPROP_NOTIFYROWSETRELEASE
向后滚动 DBPROP_可向后滚动
跳过已删除的书签 DBPROP_BOOKMARKSKIPPED
强行标识 DBPROP_STRONGITDENTITY
可更新性 DBPROP_UPDATABILITY
使用书签 DBPROP_BOOKMARKS

命令动态属性

以下属性将添加到 Command 对象的 Properties 集合中。

ADO 属性名称 OLE DB 属性名称
访问顺序 DBPROP_ACCESSORDER
Append-Only 行集 DBPROP_APPENDONLY
阻止存储对象 DBPROP_BLOCKINGSTORAGEOBJECTS
书签类型 DBPROP_BOOKMARKTYPE
可书签 DBPROP_IROWSETLOCATE
更改插入的行 DBPROP_CHANGEINSERTEDROWS
列权限 DBPROP_COLUMNRESTRICT
列集合通知 DBPROP_NOTIFYCOLUMNSET
推迟列 DBPROP_DEFERRED
延迟更新存储对象 DBPROP_DELAYSTORAGEOBJECTS
向后提取 DBPROP_CANFETCHBACKWARDS
保留行 DBPROP_CANHOLDROWS
IAccessor DBPROP_IAccessor
IColumnsInfo DBPROP_IColumnsInfo
IColumnsRowset DBPROP_IColumnsRowset
IConnectionPointContainer DBPROP_IConnectionPointContainer
IConvertType DBPROP_IConvertType
ILockBytes DBPROP_ILockBytes
不移动行 DBPROP_IMMOBILEROWS
IRowset DBPROP_IRowset
IRowsetChange DBPROP_IRowsetChange (数据库属性接口)
IRowsetIdentity DBPROP_IRowsetIdentity
IRowsetIndex DBPROP_IRowsetIndex
IRowsetInfo DBPROP_IRowsetInfo
IRowsetLocate DBPROP_IRowsetLocate
IRowsetResynch
IRowsetScroll DBPROP_IRowsetScroll
IRowsetUpdate DBPROP_IRowsetUpdate
ISequentialStream DBPROP_ISequentialStream
IStorage DBPROP_IStorage
IStream DBPROP_IStream
ISupportErrorInfo DBPROP_ISupportErrorInfo
文字书签 DBPROP_LITERALBOOKMARKS
文本行标识 DBPROP_LITERALIDENTITY
锁定模式 DBPROP_LOCKMODE
最大打开行数 DBPROP_MAXOPENROWS
最大挂起行数 DBPROP_MAXPENDINGROWS
最大行数 DBPROP_MAXROWS
通知粒度 DBPROP_NOTIFICATIONGRANULARITY
通知阶段 DBPROP_NOTIFICATIONPHASES
交易对象 DBPROP_TRANSACTEDOBJECT
其他人的更改可见 DBPROP_OTHERUPDATEDELETE
其他人的插入可见 DBPROP_OTHERINSERT
自己的更改可见 DBPROP_OWNUPDATEDELETE
自定义插入可见 DBPROP_OWNINSERT
在中止时保留 DBPROP_ABORTPRESERVE
在提交时保留 DBPROP_COMMITPRESERVE
快速重启 DBPROP_QUICKRESTART
重入事件 DBPROP_REENTRANTEVENTS
移除已删除的行 DBPROP_REMOVEDELETED
报告多个更改 DBPROP_REPORTMULTIPLECHANGES
返回挂起的插入 DBPROP_RETURNPENDINGINSERTS
行删除通知 DBPROP_NOTIFYROWDELETE
第一行更改通知 DBPROP_NOTIFYROWFIRSTCHANGE
行插入通知 DBPROP_NOTIFYROWINSERT
行权限 DBPROP_ROWRESTRICT
行重新同步通知 DBPROP_NOTIFYROWRESYNCH
行线程模型 DBPROP_ROWTHREADMODEL
行撤销更改通知 DBPROP_NOTIFYROWUNDOCHANGE
行撤消删除通知 DBPROP_NOTIFYROWUNDODELETE
行撤销插入的通知 DBPROP_NOTIFYROWUNDOINSERT
行更新通知 DBPROP_NOTIFYROWUPDATE
行集游标位置更改通知 DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE
行集发布通知 DBPROP_NOTIFYROWSETRELEASE
向后滚动 DBPROP_CANSCROLLBACKWARDS
插入时的服务器数据 DBPROP_SERVERDATAONINSERT
跳过已删除的书签 DBPROP_BOOKMARKSKIP
强健的行标识 DBPROP_STRONGIDENTITY
可更新性 DBPROP_UPDATABILITY
使用书签 DBPROP_BOOKMARKS

有关适用于 Microsoft Jet 的 OLE DB 提供程序的特定实现详细信息和功能信息,请参阅 OLE DB 文档中 Jet Provider