次の方法で共有


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 に指定された名前が無効です。

有効なテーブル名の詳細については、JetCreateTableszTableName パラメーターを参照してください。

JET_errObjectNotFound

データベースに存在しないテーブルを開こうとしました。

JET_errOutOfCursors

エンジンが新しいカーソルを開くために必要なリソースを割り当てることができないため、操作が失敗しました。 「解説」を参照してください。

JET_errTableInUse

テーブルは別のデータベース操作で使用されています。

JET_wrnTableInUseBySystem

テーブルがシステムによって使用されていることを示す致命的でない警告。

JET_errTableLocked

テーブルは、別のデータベース操作によってロックされています。

JET_errTooManyOpenTables

一度に多くの一意のテーブルを開こうとしました。 「解説」を参照してください。

解説

JetOpenTable で開かれたテーブルは、通常、JetCloseTable で閉じる必要があります。 このルールの例外は、 トランザクションで JetOpenTable が呼び出され、トランザクションがロールバックされた場合に発生します ( JetRollback を使用)。 トランザクションをロールバックすると、テーブルは自動的に閉じられます。 この場合、 JetCloseTable を使用してテーブルを閉じるとエラーが発生します。

JetOpenTable (MSysObjects、MSysUnicodeFixup など) を使用してシステム テーブルを開くのは有効です。 システム テーブルのスキーマが変更される可能性があるため、システム テーブルへのアクセスはお勧めしません。 同時に開くことができる一意のテーブルの数は、 JET_paramMaxOpenTablesによって直接影響を受けます。 テーブルが現在開いている場合は、テーブルに新しいカーソルが作成されます。 カーソル リソースは、JET_paramMaxCursorsJetSetSystemParameter を使用して構成されます。 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
リソース パラメーター