JetOpenTable 関数
適用対象: Windows |Windows Server
JetOpenTable 関数
JetOpenTable 関数は、以前に作成したテーブルにカーソルを開きます。
JET_ERR JET_API JetOpenTable(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in const tchar* szTableName,
__in_opt const void* pvParameters,
__in unsigned long cbParameters,
__in JET_GRBIT grbit,
__out JET_TABLEID* ptableid
);
パラメーター
sesid
使用するデータベース セッション コンテキスト。
dbid
テーブルの検索に使用するデータベース識別子。
szTableName
開くテーブルの名前。
pvParameters
非推奨になりました。 NULL に設定 します。
cbParameters
非推奨になりました。 0 (ゼロ) に設定します。
grbit
次のオプションの 0 個以上を指定するビットのグループ。
値 |
説明 |
---|---|
JET_bitTableDenyRead |
テーブルを開いて、別のデータベース セッションから読み取りアクセスすることはできません。 |
JET_bitTableDenyWrite |
テーブルを開いて、別のデータベース セッションから書き込みアクセスすることはできません。 |
JET_bitTableNoCache |
このテーブルのページはキャッシュしないでください。 |
JET_bitTablePermitDDL |
FixedDDL としてフラグが設定されたテーブルに対する DDL 変更を許可します。 このオプションは、JET_bitTableDenyRead オプションと共に使用する必要があります。 |
JET_bitTablePreread |
テーブルがバッファー キャッシュにない可能性があり、事前読み取りがパフォーマンスに役立つ可能性があることを示すヒントを提供します。 |
JET_bitTableReadOnly |
テーブルへの読み取り専用アクセスを要求します。 |
JET_bitTableSequential |
テーブルは、アプリケーションによって順番にスキャンされるため、ディスクから非常に積極的にプリフェッチする必要があります。 |
JET_bitTableUpdatable |
テーブルへの書き込みアクセスを要求します。 |
ptableid
成功した場合は、テーブルの識別子をポイントします。 失敗した場合、 ptableid の内容は未定義です。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errInvalidDatabaseId |
dbid が有効なデータベース識別子ではありません。 |
JET_errInvalidgrbit |
grbit の不適切な組み合わせが渡されました。 |
JET_errInvalidName |
szTableName に指定された名前が無効です。 有効なテーブル名の詳細については、JetCreateTable の szTableName パラメーターを参照してください。 |
JET_errObjectNotFound |
データベースに存在しないテーブルを開こうとしました。 |
JET_errOutOfCursors |
エンジンが新しいカーソルを開くために必要なリソースを割り当てることができないため、操作が失敗しました。 「解説」を参照してください。 |
JET_errTableInUse |
テーブルは別のデータベース操作で使用されています。 |
JET_wrnTableInUseBySystem |
テーブルがシステムによって使用されていることを示す致命的でない警告。 |
JET_errTableLocked |
テーブルは、別のデータベース操作によってロックされています。 |
JET_errTooManyOpenTables |
一度に多くの一意のテーブルを開こうとしました。 「解説」を参照してください。 |
解説
JetOpenTable で開かれたテーブルは、通常、JetCloseTable で閉じる必要があります。 このルールの例外は、 トランザクションで JetOpenTable が呼び出され、トランザクションがロールバックされた場合に発生します ( JetRollback を使用)。 トランザクションをロールバックすると、テーブルは自動的に閉じられます。 この場合、 JetCloseTable を使用してテーブルを閉じるとエラーが発生します。
JetOpenTable (MSysObjects、MSysUnicodeFixup など) を使用してシステム テーブルを開くのは有効です。 システム テーブルのスキーマが変更される可能性があるため、システム テーブルへのアクセスはお勧めしません。 同時に開くことができる一意のテーブルの数は、 JET_paramMaxOpenTablesによって直接影響を受けます。 テーブルが現在開いている場合は、テーブルに新しいカーソルが作成されます。 カーソル リソースは、JET_paramMaxCursorsで JetSetSystemParameter を使用して構成されます。 JetDupCursor も参照してください。
要件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetOpenTableW (Unicode) および JetOpenTableA (ANSI) として実装されます。 |
参照
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
リソース パラメーター