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