Fungsi JetOpenTable

Berlaku untuk: Windows | Windows Server

Fungsi JetOpenTable

Fungsi JetOpenTable membuka kursor pada tabel yang dibuat sebelumnya.

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

Parameter

sesid

Konteks sesi database yang akan digunakan.

dbid

Pengidentifikasi database yang digunakan untuk menemukan tabel.

szTableName

Nama tabel yang akan dibuka.

pvParameters

Dihentikan. Atur ke NULL.

cbParameters

Dihentikan. Atur ke 0 (nol).

grbit

Sekelompok bit yang menentukan nol atau beberapa opsi berikut.

Nilai

Makna

JET_bitTableDenyRead

Tabel tidak dapat dibuka untuk akses baca oleh sesi database lain.

JET_bitTableDenyWrite

Tabel tidak dapat dibuka untuk akses tulis oleh sesi database lain.

JET_bitTableNoCache

Jangan singgahan halaman untuk tabel ini.

JET_bitTablePermitDDL

Memungkinkan modifikasi DDL pada tabel yang ditandai sebagai FixedDDL. Opsi ini harus digunakan dengan opsi JET_bitTableDenyRead.

JET_bitTablePreread

Memberikan petunjuk bahwa tabel mungkin tidak ada di cache buffer, dan pra-pembacaan tersebut mungkin bermanfaat bagi performa.

JET_bitTableReadOnly

Meminta akses baca-saja ke tabel.

JET_bitTableSequential

Tabel harus sangat agresif diambil sebelumnya dari disk karena aplikasi akan memindainya secara berurutan.

JET_bitTableUpdatable

Meminta akses tulis ke tabel.

ptableid

Jika berhasil, arahkan ke pengidentifikasi tabel. Jika gagal, konten untuk ptableid tidak terdefinisi.

Tampilkan Nilai

Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

JET_errInvalidDatabaseId

dbid bukan pengidentifikasi database yang valid.

JET_errInvalidgrbit

Kombinasi buruk dari grbit diteruskan.

JET_errInvalidName

Nama yang diberikan dalam szTableName tidak valid.

Untuk informasi selengkapnya tentang nama tabel yang valid, lihat parameter szTableName di JetCreateTable.

JET_errObjectNotFound

Upaya dilakukan untuk membuka tabel yang tidak ada di database.

JET_errOutOfCursors

Operasi gagal karena mesin tidak dapat mengalokasikan sumber daya yang diperlukan untuk membuka kursor baru. Lihat bagian Keterangan.

JET_errTableInUse

Tabel sedang digunakan oleh operasi database lain.

JET_wrnTableInUseBySystem

Peringatan nonfatal yang menunjukkan bahwa tabel sedang digunakan oleh sistem.

JET_errTableLocked

Tabel dikunci oleh operasi database lain.

JET_errTooManyOpenTables

Upaya dilakukan untuk membuka terlalu banyak tabel unik sekaligus. Lihat bagian Keterangan.

Keterangan

Tabel yang dibuka dengan JetOpenTable biasanya harus ditutup dengan JetCloseTable. Pengecualian untuk aturan ini terjadi ketika JetOpenTable dipanggil dalam transaksi dan transaksi digulung balik (dengan JetRollback). Saat menggulung balik transaksi, tabel ditutup secara otomatis. Dalam hal ini, ini adalah kesalahan untuk menutup tabel dengan JetCloseTable.

Secara hukum untuk membuka tabel sistem dengan JetOpenTable (misalnya, MSysObjects, MSysUnicodeFixup). Skema tabel sistem dapat berubah, sehingga mengakses tabel sistem tidak disarankan. Jumlah tabel unik yang dapat dibuka secara bersamaan dipengaruhi langsung oleh JET_paramMaxOpenTables. Jika tabel saat ini terbuka maka kursor baru akan dibuat pada tabel. Sumber daya kursor dikonfigurasi menggunakan JetSetSystemParameter dengan JET_paramMaxCursors. Lihat juga JetDupCursor.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional.

Server

Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server.

Header

Dinyatakan dalam Esent.h.

Pustaka

Gunakan ESENT.lib.

DLL

Membutuhkan ESENT.dll.

Unicode

Diimplementasikan sebagai JetOpenTableW (Unicode) dan JetOpenTableA (ANSI).

Lihat juga

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
Parameter Sumber Daya