Fungsi JetCreateInstance
Berlaku untuk: Windows | Windows Server
Fungsi JetCreateInstance
Fungsi JetCreateInstance mengalokasikan instans baru mesin database untuk digunakan dalam satu proses.
Windows XP: JetCreateInstance diperkenalkan di Windows XP.
JET_ERR JET_API JetCreateInstance(
__out JET_INSTANCE* pinstance,
__in_opt const tchar* szInstanceName
);
Parameter
pinstance
Buffer output yang menerima instans yang baru dibuat.
szInstanceName
Pengidentifikasi string unik untuk instans yang akan dibuat. String ini harus unik dalam proses tertentu yang menghosting mesin database.
Catatan Nilai NULL diperlakukan sebagai pengidentifikasi string yang valid untuk instans. Hanya satu instans yang mungkin memiliki pengidentifikasi string NULL.
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_errInstanceNameInUse |
Nama instans yang ditentukan sudah digunakan untuk proses ini. |
JET_errInvalidParameter |
Salah satu parameter yang disediakan berisi nilai yang tidak terduga atau berisi nilai yang tidak masuk akal ketika dikombinasikan dengan nilai parameter lain. Ini dapat terjadi untuk JetCreateInstance ketika pinstance adalah NULL. |
JET_errRunningInOneInstanceMode |
Operasi gagal karena tidak dapat digunakan ketika mesin database beroperasi dalam mode instans tunggal (mode kompatibilitas Windows 2000). |
JET_errTooManyInstances |
Instans baru tidak dapat dibuat karena jumlah maksimum instans telah tercapai. Jumlah maksimum instans yang didukung dikonfigurasi menggunakan JetSetSystemParameter menggunakan JET_paramMaxInstances. |
Setelah berhasil, instans baru akan dialokasikan dan pengidentifikasi untuk instans tersebut akan dikembalikan. Pada titik ini, semua parameter sistem untuk instans akan memiliki nilai parameter sistem default global. Setelah instans dialokasikan, instans perlu dihentikan dan/atau dikosongkan nanti.
Jika gagal, kesalahan yang mewakili penyebab kegagalan akan dikembalikan dan tidak ada instans yang akan dialokasikan.
Keterangan
Instans harus diinisialisasi dengan panggilan ke JetInit sebelum dapat digunakan oleh apa pun selain JetSetSystemParameter.
Instans dihancurkan oleh panggilan ke fungsi JetTerm , bahkan jika instans tersebut tidak pernah diinisialisasi menggunakan JetInit. Jumlah maksimum instans yang dapat dibuat kapan saja dikontrol oleh JET_paramMaxInstances, yang dapat dikonfigurasi dengan panggilan ke JetSetSystemParameter. Instans adalah unit pemulihan untuk mesin database. Ini mengontrol siklus hidup semua file yang digunakan untuk melindungi integritas data dalam sekumpulan file database. File-file ini mencakup file titik pemeriksaan dan file log transaksi.
Jika fungsi berhasil, mesin database akan secara otomatis diubah ke mode multi-instans sebagai efek samping dari panggilan ini. Jika aplikasi ingin mengizinkan hanya satu instans dalam proses, Maka JetInit harus digunakan untuk memulai mesin database dalam mode kompatibilitas Windows 2000.
Jika ada, szDisplayName akan digunakan untuk mengidentifikasi instans di tempat-tempat seperti Log Peristiwa atau terhadap pemanggil lain seperti aplikasi cadangan (melalui fungsi seperti JetGetInstanceInfo atau JetOSSnapshotFreeze). Jika nama tampilan tidak disediakan, szInstanceName unik akan digunakan sebagai gantinya jika ada, jika tidak, string kosong akan dikembalikan. Jika mesin tidak memiliki mode berjalan yang diatur, setelah panggilan ini, mesin akan diatur ke mode multi-instans.
Urutan start-up yang khas untuk proses yang berpotensi menjalankan beberapa instans Jet adalah:
Panggilan ke JetCreateInstance2 yang akan mengalokasikan dan memberi nama instans.
Beberapa panggilan ke JetSetSystemParameter untuk instans tersebut untuk mengatur parameter sistem yang berbeda. Perhatikan bahwa beberapa parameter sistem harus unik per instans (seperti JET_paramSystemPath atau JET_paramLogFilePath) sehingga kemungkinan besar seseorang perlu mengatur masing-masing parameter tersebut.
Mulai instans menggunakan JetInit atau JetInit2. Untuk mengakhiri dan/atau membebaskan instans, JetTerm, JetTerm2 perlu digunakan.
Jika ini adalah instans pertama yang dimulai, ada sejumlah langkah tambahan yang akan dijalankan selama panggilan ini untuk melakukan inisialisasi dan konfigurasi sistem dasar. Sejumlah langkah tersebut dapat mengakibatkan kesalahan tertentu yang dimulai dengan JET_errOutOfMemory tetapi yang lain juga (lihat kesalahan di atas).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien |
Memerlukan Windows Vista atau Windows XP. |
Server |
Memerlukan Windows Server 2008 atau Windows Server 2003. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |
Unicode |
Diimplementasikan sebagai JetCreateInstanceW (Unicode) dan JetCreateInstanceA (ANSI). |
Lihat juga
File Mesin Penyimpanan yang Dapat Diperluas
JET_ERR
JET_INSTANCE
JetCreateInstance2
JetEnableMultiInstance
JetGetInstanceInfo
JetInit
JetInit2
JetOSSnapshotFreeze
JetSetSystemParameter
JetTerm
JetTerm2