Fungsi JetCreateDatabase
Berlaku untuk: Windows | Windows Server
Fungsi JetCreateDatabase
Fungsi JetCreateDatabase membuat dan melampirkan file database yang akan digunakan dengan mesin database ESE. Memanggil JetCreateDatabase2 dengan cpgDatabaseSizeMax diatur ke nol identik dengan memanggil JetCreateDatabase dengan szConnect diatur ke NULL. Saat ini, hingga tujuh database dapat dibuat per instans.
JET_ERR JET_API JetCreateDatabase(
__in JET_SESID sesid,
__in JET_PCSTR szFilename,
__in_opt JET_PCSTR szConnect,
__out JET_DBID* pdbid,
__in JET_GRBIT grbit
);
Parameter
sesid
Konteks sesi database yang akan digunakan untuk panggilan API.
szFilename
Nama database yang akan dibuat.
szConnect
Disiapkan untuk penggunaan masa mendatang. Atur ke NULL.
pdbid
Penunjuk ke buffer yang, pada panggilan berhasil, berisi pengidentifikasi database. Jika gagal, nilainya tidak ditentukan.
grbit
Sekelompok bit yang menentukan nol atau beberapa opsi berikut.
Nilai |
Makna |
---|---|
JET_bitDbOverwriteExisting |
Secara default, jika JetCreateDatabase dipanggil dan database sudah ada, panggilan API akan gagal dan database asli tidak akan ditimpa. JET_bitDbOverwriteExisting mengubah perilaku ini, dan database lama akan ditimpa dengan yang baru. Windows XP dan yang lebih baru. |
JET_bitDbRecoveryOff |
JET_bitDbRecoveryOff menonaktifkan pengelogan. Mengatur bit ini kehilangan kemampuan untuk memutar ulang file log dan memulihkan database ke keadaan yang dapat digunakan secara konsisten setelah peristiwa bencana. |
JET_bitDbShadowingOff |
Pengaturan JET_bitDbShadowingOff akan menonaktifkan duplikasi beberapa struktur database internal (bayangan). Duplikasi struktur ini dilakukan untuk ketahanan, sehingga pengaturan JET_bitDbShadowingOff akan menghapus ketahanan tersebut. |
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_errDatabaseDuplicate |
Database bernama dalam szFilename sudah ada. Ketika kesalahan ini dikembalikan, database tidak dilampirkan. |
JET_errDatabaseInUse |
Dapat dikembalikan jika akses eksklusif diminta, tetapi tidak dapat diberikan, atau jika sesi lain telah membuka database secara eksklusif. |
JET_errDatabaseInvalidPages |
Dikembalikan ketika cpgDatabaseSizeMax lebih besar dari jumlah maksimum halaman yang diizinkan dalam database. Maksimum saat ini adalah 2147483646 (0x7ffffffe). |
JET_errDatabaseInvalidPath |
Jalur yang tidak valid diberikan dalam szFilename. szFilename harus non-NULL. Secara default, szFilename harus menunjuk ke direktori yang ada. Jalur akan dibuat jika JET_paramCreatePathIfNotExist diatur (Lihat JetSetSystemParameter). |
JET_errDatabaseLocked |
Menunjukkan bahwa sesi lain telah membuka database secara eksklusif (menggunakan JET_bitDbExclusive). |
JET_errDatabaseNotFound |
Database sebelumnya tidak dilampirkan (Lihat JetAttachDatabase). |
JET_errDatabaseSharingViolation |
File database telah dilampirkan oleh sesi lain. |
JET_errInTransaction |
Upaya dilakukan untuk membuat database saat bertransaksi. |
JET_errInvalidDatabase |
Upaya dilakukan untuk membuka file yang bukan file database yang valid. |
JET_errOneDatabasePerSession |
Upaya dilakukan untuk membuka lebih dari satu database, dan JET_paramOneDatabasePerSession telah ditetapkan. Lihat Parameter Database. |
JET_errOutOfMemory |
Operasi gagal karena memori tidak dapat dialokasikan. |
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. |
JET_wrnFileOpenReadOnly |
JET_wrnFileOpenReadOnly menunjukkan bahwa file dilampirkan baca-saja, tetapi JetCreateDatabase tidak lulus JET_bitDbReadOnly. Database masih dibuka dengan akses baca-saja. |
Keterangan
Jika database yang ditentukan dalam szFilename ada dan JET_bitDbOverwriteExisting tidak diteruskan, panggilan API akan gagal. Jika JET_bitDbOverwriteExisting diteruskan, file database lama akan dihapus terlebih dahulu.
Jika API membuat file database dan kemudian mencapai kesalahan lain, API akan membersihkan dan menghapus file.
JetCreateDatabase akan secara implisit membuka database. Tidak harus kemudian memanggil JetOpenDatabase.
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 JetCreateDatabaseW (Unicode) dan JetCreateDatabaseA (ANSI). |
Lihat juga
File Mesin Penyimpanan yang Dapat Diperluas
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Parameter Sistem