共用方式為


Microsoft OLE DB Provider for Microsoft Jet 概述

OLE DB Provider for Microsoft Jet 可讓 ADO 存取 Microsoft Jet 資料庫。

連接字串參數

若要連線到此提供者,請將 ConnectionString 屬性的 Provider 自變數設定為下列屬性:

Microsoft.Jet.OLEDB.4.0

讀取 Provider 屬性也會傳回此字串。

一般連接字串

此提供者的典型連接字串為:

"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,而不是連接字元串中的使用者識別符和密碼資訊。

Provider-Specific 連線參數

除了 ADO 所定義的動態屬性之外,OLE DB Provider for Microsoft Jet 還支援數個提供者特定的動態屬性。 如同所有其他 Connection 參數,可以使用 Connection 物件的 Properties 集合或連接字符串的一部分來設定它們。

下表列出這些屬性,以及括弧中對應的 OLE DB 屬性名稱。

參數 描述
Jet OLEDB:緊縮的回收空間量(DBPROP_JETOLEDB_COMPACTFREESPACESIZE) 表示壓縮資料庫可以回收的空間量,以位元組為單位。 只有在建立資料庫連接之後,這個值才有效。
Jet OLEDB:Connection Control (DBPROP_JETOLEDB_CONNECTIONCONTROL) 指出使用者是否可以連線到資料庫。
Jet OLEDB:建立系統資料庫 (DBPROP_JETOLEDB_CREATESYSTEMDATABASE) 指出在建立新的數據源時,是否應該建立系統資料庫。
Jet OLEDB:資料庫鎖定模式 (DBPROP_JETOLEDB_DATABASELOCKMODE) 指出這個資料庫的鎖定模式。 第一個開啟資料庫的用戶會決定資料庫開啟時所使用的模式。
Jet OLEDB:資料庫密碼 (DBPROP_JETOLEDB_DATABASEPASSWORD) 表示資料庫密碼。
Jet OLEDB:不要在 Compact 上複製地區設定 (DBPROP_JETOLEDB_COMPACT_DONTCOPYLOCALE) 指出 Jet 是否應該在壓縮資料庫時複製地區設定資訊。
Jet OLEDB:Encrypt Database (DBPROP_JETOLEDB_ENCRYPTDATABASE) 指出壓縮的資料庫是否應該加密。 如果未設定這個屬性,則如果原始資料庫也已加密,壓縮的資料庫將會加密。
Jet OLEDB:Engine Type (DBPROP_JETOLEDB_ENGINE) 指出用來存取目前數據存放區的儲存引擎。
Jet OLEDB:獨佔異步延遲(DBPROP_JETOLEDB_EXCLUSIVEASYNCDELAY) 指出當資料庫以獨佔方式開啟時,Jet 可以延遲異步寫入磁碟的時間長度上限,以毫秒為單位。

除非 Jet OLEDB:Flush Transaction Timeout 設為 0,否則會忽略此屬性。
Jet OLEDB:Flush Transaction Timeout (DBPROP_JETOLEDB_FLUSHTRANSACTIONTIMEOUT) 表示在將數據存儲於快取中,以進行異步寫入後,寫入磁碟前需等待的時間量。 此設定會覆寫 Jet OLEDB:Shared Async DelayJet OLEDB:Exclusive Async Delay的值。
Jet OLEDB:Global Bulk Transactions (DBPROP_JETOLEDB_GLOBALBULKNOTRANSACTIONS) 指示 SQL 批量交易是否被處理。
Jet OLEDB:Global Partial Bulk Ops (DBPROP_JETOLEDB_GLOBALBULKPARTIAL) 指出用來開啟資料庫的密碼。
Jet OLEDB:Implicit Commit Sync (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:頁面鎖定至表格鎖定 (DBPROP_JETOLEDB_PAGELOCKSTOTABLELOCK) 要在交易中將頁面鎖定提升為資料表鎖定前,Jet 需要先鎖定多少頁面。 如果此值為 0,則永遠不會升級鎖定。
Jet OLEDB:頁面超時(DBPROP_JETOLEDB_PAGETIMEOUT) 指出 Jet 在確認其快取是否與資料庫檔案內容不同步之前,所會等待的毫秒數。
Jet OLEDB:回收 Long-Valued 頁(DBPROP_JETOLEDB_RECYCLELONGVALUEPAGES) 指出 Jet 是否應積極嘗試在 BLOB 頁面釋放後進行回收。
Jet OLEDB:Registry Path (DBPROP_JETOLEDB_REGPATH) 指出包含 Jet 資料庫引擎值的 Windows 登錄機碼。
Jet OLEDB:Reset ISAM Stats(DBPROP_JETOLEDB_RESETISAMSTATS) 指出架構 Recordset DBSCHEMA_JETOLEDB_ISAMSTATS 在傳回效能信息之後,是否應該重設其性能計數器。
Jet OLEDB:Shared Async Delay (DBPROP_JETOLEDB_SHAREDASYNCDELAY) 指出當資料庫以多使用者模式開啟時,Jet 可以延遲異步寫入磁碟的時間上限,以毫秒為單位。
Jet OLEDB:System Database(DBPROP_JETOLEDB_SYSDBPATH) 指出工作組資訊檔的路徑和檔名(系統資料庫)。
Jet OLEDB:Transaction Commit Mode (DBPROP_JETOLEDB_TXNCOMMITMODE) 指出 Jet 在認可交易時,會以同步或異步方式將數據寫入磁碟。
Jet OLEDB:User Commit Sync (DBPROP_JETOLEDB_USERCOMMITSYNC) 指出交易中所做的變更是以同步或異步模式寫入。

Provider-Specific 記錄集和命令屬性

Jet 提供者也支持數個提供者特定的 RecordsetCommand 属性。 這些屬性是透過 RecordsetCommand 物件的 Properties 集合來存取和設定。 數據表會列出 ADO 屬性名稱及其括弧中對應的 OLE DB 屬性名稱。

屬性名稱 描述
Jet OLEDB:Bulk Transactions (DBPROP_JETOLEDB_BULKNOTRANSACTIONS) 指示是否在交易中執行 SQL 批次作業。 大規模的批量作業可能會在交易時失敗,因為資源延遲。
Jet OLEDB:啟用粗游標 (DBPROP_JETOLEDB_ENABLEFATCURSOR) 指出 Jet 是否應在填入遠端數據列來源的記錄集時快取多個數據列。
Jet OLEDB:Fat Cursor Cache Size(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 應該將 命令 物件中的 SQL 文字不加改動地傳遞至後端。
Jet OLEDB:Partial Bulk Ops (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 驗證規則。

根據預設,OLE DB Provider for Microsoft Jet 會以讀取/寫入模式開啟 Microsoft Jet 資料庫。 若要以唯讀模式開啟資料庫,請將 ADO Connection 物件上的 Mode 屬性設定為 adModeRead

指令物件使用

Command 物件中的命令文字會使用 Microsoft Jet SQL 方言。 您可以在命令文字中指定傳回數據列的查詢、動作查詢和數據表名稱;不過,不支持預存程式,而且不應該指定。

Recordset 行為模式

Microsoft Jet 資料庫引擎不支援動態游標。 因此,OLE DB Provider for Microsoft Jet 不支援 adLockDynamic 游標類型。 當請求動態游標時,提供者將返回一個索引鍵集游標,並重設 CursorType 屬性,以指示返回的 Recordset 的類型。 此外,如果要求可以更新的 RecordsetLockTypeadLockOptimisticadLockBatchOptimisticadLockPessimistic),提供者也會傳回鍵集指標,並重設 CursorType 屬性。

動態屬性

OLE DB Provider for Microsoft Jet 會將數個動態屬性插入未開啟 ConnectionRecordsetCommand 物件的 Properties 集合中。

下表是每個動態屬性之 ADO 和 OLE DB 名稱的交叉索引。 OLE DB 程式設計人員參考會依「描述」一詞來參考 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
永續性識別碼類型 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
用戶標識碼 DBPROP_AUTH_USERID
使用者名 DBPROP_USERNAME
視窗控制碼 DBPROP_INIT_HWND

記錄集的動態屬性

下列屬性會新增至 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_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_NOTIFYROWUNDODELETE
列取消插入通知 DBPROP_NOTIFYROWUNDOINSERT
數據列更新通知 DBPROP_NOTIFYROWUPDATE
數據列集擷取位置變更通知 DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE
數據列集發行通知 DBPROP_NOTIFYROWSETRELEASE
向後捲動 DBPROP_CANSCROLLBACKWARDS
略過已刪除的書籤 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

如需 OLE DB Provider for Microsoft Jet 的特定實作詳細數據和功能資訊,請參閱 OLE DB 檔中的 Jet Provider