Bagikan melalui


Fungsi JetAttachDatabase2

Berlaku untuk: Windows | Windows Server

Fungsi JetAttachDatabase2

Fungsi JetAttachDatabase2 melampirkan file database untuk digunakan dengan instans database dan menentukan ukuran maksimum untuk database tersebut. Untuk menggunakan database, database harus kemudian dibuka dengan JetOpenDatabase.

    JET_ERR JET_API JetAttachDatabase2(
      __in          JET_SESID sesid,
      __in          const tchar* szFilename,
      __in          const unsigned long cpgDatabaseSizeMax,
      __in          JET_GRBIT grbit
    );

Parameter

sesid

Konteks sesi database yang akan digunakan untuk panggilan API.

szFilename

Nama database yang akan dilampirkan.

cpgDatabaseSizeMax

Ukuran maksimum, di halaman database, untuk database. Ukuran halaman database default adalah 4 kilobyte, yang dapat diubah menggunakan fungsi JetSetSystemParameter sebelum membuat database.

Melewati nol berarti tidak ada maksimum yang diberlakukan oleh mesin database.

grbit

Sekelompok bit yang berisi opsi yang akan digunakan untuk panggilan ini, yang mencakup nol atau beberapa hal berikut:

Nilai

Makna

JET_bitDbDeleteCorruptIndexes

Jika JET_paramEnableIndexChecking telah diatur, semua indeks melalui data Unicode akan dihapus. Lihat bagian Keterangan untuk detail selengkapnya.

JET_bitDbDeleteUnicodeIndexes

Semua indeks melalui data Unicode akan dihapus, terlepas dari pengaturan JET_paramEnableIndexChecking. Lihat bagian Keterangan untuk detail selengkapnya.

JET_bitDbReadOnly

Mencegah modifikasi pada database.

JET_bitDbUpgrade

Disiapkan untuk penggunaan masa mendatang.

Tampilkan Nilai

Fungsi mengembalikan salah satu kode kesalahan JET_ERR . Berikut ini adalah yang paling umum dikembalikan. (Untuk daftar lengkap kesalahan untuk API ini, lihat Kode Kesalahan Mesin Penyimpanan yang Dapat Diperluas.)

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

JET_errBackupInProgress

Melampirkan database tidak diperbolehkan selama pencadangan.

JET_errDatabaseFileReadOnly

File database yang ditentukan oleh szFilename harus dapat ditulis. Atribut Read-Only tidak boleh diatur, dan proses yang sedang berjalan harus memiliki hak istimewa yang memadai untuk menulis ke file.

JET_errDatabaseInUse

File database sudah dibuka oleh proses lain.

JET_errDatabaseInvalidPath

Jalur yang tidak valid diberikan dalam szFilename. szFilename harus non-NULL dan merujuk ke jalur yang valid.

JET_errDatabaseSharingViolation

File database telah dilampirkan oleh sesi lain.

JET_errFileNotFound

File yang diberikan dalam szFilename tidak ada.

JET_errPrimaryIndexCorrupted

Ada kesalahan dengan indeks utama. Ini mungkin dari kerusakan fisik (seperti disk atau kerusakan memori). Ini juga dapat dikembalikan saat melampirkan database yang terakhir diubah pada sistem operasi yang lebih lama dan indeks utama melebihi kolom dengan data Unicode. Lihat keterangan untuk informasi selengkapnya tentang indeks melalui data Unicode.

JET_errSecondaryIndexCorrupted

Ada kesalahan dengan indeks sekunder. Ini mungkin dari kerusakan fisik (seperti disk atau kerusakan memori). Ini juga dapat dikembalikan saat melampirkan database yang terakhir diubah pada sistem operasi yang lebih lama dan indeks sekunder melebihi kolom dengan data Unicode. Lihat keterangan untuk informasi selengkapnya tentang indeks melalui data Unicode. Indeks sekunder sepenuhnya dibangun kembali ketika database didefragmentasi dengan utilitas offline menggunakan perintah berikut: esentutl -d.

JET_errTooManyAttachedDatabases

Hanya jumlah database terbatas yang dapat dilampirkan per instans. Batasnya saat ini adalah tujuh database per instans.

JET_wrnDatabaseAttached

Peringatan nonfungsi yang menunjukkan bahwa file database telah dilampirkan oleh sesi ini.

Keterangan

File database dilepas menggunakan JetDetachDatabase atau JetDetachDatabase2.

Lihat JetAttachDatabase untuk keterangan.

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 JetAttachDatabase2W (Unicode) dan JetAttachDatabase2A (ANSI).

Lihat juga

File Mesin Penyimpanan yang Dapat Diperluas
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter