共用方式為


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>;"

字串包含下列關鍵字:

關鍵字 描述
提供者 指定 OLE DB Provider for Microsoft Jet。
資料來源 指定資料庫路徑和檔案名稱 (例如 c:\Northwind.mdb)。
使用者識別碼 指定使用者名稱。 如果未指定此關鍵字,預設會使用字串「admin」。
密碼 指定使用者密碼。 如果未指定此關鍵字,預設會使用空白字串「」。

注意

如果您要連線至支援 Windows 驗證的資料來源提供者,您應該指定 Trusted_Connection=yesIntegrated Security = SSPI,而非在連接字串中指定使用者識別碼和密碼資訊。

提供者特定連接參數

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

下表列出這些屬性,並在括弧中包含對應的 OLE DB 屬性名稱。

參數 Description
Jet OLEDB:Compact Reclaimed Space Amount (DBPROP_JETOLEDB_COMPACTFREESPACESIZE) 表示壓縮資料庫可回收的空間量估計,以位元組為單位。 只有在建立資料庫連接之後,這個值才有效。
Jet OLEDB:Connection Control (DBPROP_JETOLEDB_CONNECTIONCONTROL) 指出使用者是否可以連線到資料庫。
Jet OLEDB:Create System Database (DBPROP_JETOLEDB_CREATESYSTEMDATABASE) 指出建立新的資料來源時,是否應該建立系統資料庫。
Jet OLEDB:Database Locking Mode (DBPROP_JETOLEDB_DATABASELOCKMODE) 指出此資料庫的鎖定模式。 開啟資料庫的第一個使用者會決定資料庫開啟時所使用的模式。
Jet OLEDB:Database Password (DBPROP_JETOLEDB_DATABASEPASSWORD) 表示資料庫密碼。
Jet OLEDB:Don't Copy Locale on Compact (DBPROP_JETOLEDB_COMPACT_DONTCOPYLOCALE) 指出 Jet 是否應該在壓縮資料庫時複製地區設定資訊。
Jet OLEDB:Encrypt Database (DBPROP_JETOLEDB_ENCRYPTDATABASE) 指出壓縮的資料庫是否應該加密。 若未設定此屬性,則如果原始資料庫也已加密,壓縮的資料庫將會加密。
Jet OLEDB:Engine Type (DBPROP_JETOLEDB_ENGINE) 指出用來存取目前資料存放區的儲存引擎。
Jet OLEDB:Exclusive Async Delay (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:Max Buffer Size (DBPROP_JETOLEDB_MAXBUFFERSIZE) 指出 Jet 可以在開始排清磁碟變更之前使用的最大記憶體數量,以 KB 為單位。
Jet OLEDB:Max Locks Per File (DBPROP_JETOLEDB_MAXLOCKSPERFILE) 指出 Jet 可以在資料庫上放置的最大鎖定數目。 預設值為 9500。
Jet OLEDB:New Database Password (DBPROP_JETOLEDB_NEWDATABASEPASSWORD) 指出要為此資料庫設定的新密碼。 舊密碼會儲存在 Jet OLEDB:Database Password 中。
Jet OLEDB:ODBC Command Time Out (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 會等候的毫秒數。
Jet OLEDB:Recycle Long-Valued Pages (DBPROP_JETOLEDB_RECYCLELONGVALUEPAGES) 指出 Jet 是否應該積極嘗試在釋放 BLOB 頁面時回收 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) 指出在交易中所做的變更是以同步或非同步模式寫入。

提供者專屬的記錄集和命令屬性

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

屬性名稱 描述
Jet OLEDB:Bulk Transactions (DBPROP_JETOLEDB_BULKNOTRANSACTIONS) 指出是否要交易 SQL 大量作業。 交易時,大型大量作業可能會因為資源延遲而失敗。
Jet OLEDB:Enable Fat Cursors (DBPROP_JETOLEDB_ENABLEFATCURSOR) 指出 Jet 是否應該在填入遠端資料列來源的記錄集時快取多個資料列。
Jet OLEDB:Fat Cursor Cache Size (DBPROP_JETOLEDB_FATCURSORMAXROWS) 指出使用遠端資料存放區資料列快取時要快取的資料列數目。 除非 Jet OLEDB:Enable Fat Cursors 為 True,否則會忽略此值。
Jet OLEDB:Inconsistent (DBPROP_JETOLEDB_INCONSISTENT) 指出查詢結果是否允許不一致的更新。
Jet OLEDB:Locking Granularity (DBPROP_JETOLEDB_LOCKGRANULARITY) 指出是否使用資料列層級鎖定開啟資料表。
Jet OLEDB:ODBC Pass-Through Statement (DBPROP_JETOLEDB_ODBCPASSTHROUGH) 表示 Jet 應該將 Command 物件中的 SQL 文字傳遞至未變更的後端。
Jet OLEDB:Partial Bulk Ops (DBPROP_JETOLEDB_BULKPARTIAL) 指出當 SQL DML 作業失敗時 Jet 的行為。
Jet OLEDB:Pass Through Query Bulk-Op (DBPROP_JETOLEDB_PASSTHROUGHBULKOP) 指出不會傳回 Recordset 的查詢是否未變更傳遞至資料來源。
Jet OLEDB:Pass Through Query Connect String (DBPROP_JETOLEDB_ODBCPASSTHROUGHCONNECTSTRING) 指出用來連線到遠端資料存放區的 Jet 連接字串。 除非 Jet OLEDB:ODBC Pass-Through Statement 為 True,否則會忽略此值。
Jet OLEDB:Stored Query (DBPROP_JETOLEDB_STOREDQUERY) 指出命令文字是否應該解譯為預存查詢,而不是 SQL 命令。
Jet OLEDB:Validate Rules On Set (DBPROP_JETOLEDB_VALIDATEONSET) 指出當設定資料行資料時,還是當變更認可至資料庫時,會評估 Jet 驗證規則。

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

Command 物件使用方式

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

Recordset 行為

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

動態屬性

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

下表是每個動態屬性的 ADO 和 OLE DB 名稱交叉索引。 OLE DB 程式設計人員參考會根據「Description」一詞參照 ADO 屬性名稱。您可以在 OLE DB 程式設計人員參考中找到這些屬性的詳細資訊。

連線動態屬性

下列屬性會新增至 Connection 物件的 Properties 集合。

ADO 屬性名稱 OLE DB 屬性名稱
Active Sessions 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
Mode 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
Select 清單中的 ORDER BY 資料行 DBPROP_ORDERBYCOLUMNSINSELECT
輸出參數使用 DBPROP_OUTPUTPARAMETERAVAILABILITY
傳址存取子 DBPROP_BYREFACCESSORS
密碼 DBPROP_AUTH_PASSWORD
持續性 ID 型別 DBPROP_PERSISTENTIDTYPE
準備中止行為 DBPROP_PREPAREABORTBEHAVIOR
準備認可行為 DBPROP_PREPARECOMMITBEHAVIOR
程序詞彙 DBPROP_PROCEDURETERM
提示 DBPROP_INIT_PROMPT
提供者易記名稱 DBPROP_PROVIDERFRIENDLYNAME
Provider Name DBPROP_PROVIDERFILENAME
提供者版本 DBPROP_PROVIDERVER
唯讀資料來源 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_NOTIFYROWUNDOCHANGE
資料列復原刪除告知 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