Fungsi JetBeginSession

Berlaku untuk: Windows | Windows Server

Fungsi JetBeginSession

Fungsi JetBeginSession memulai sesi dan menginisialisasi dan mengembalikan handel sesi ESE (JET_SESID). Sesi mengontrol semua akses ke database dan digunakan untuk mengontrol cakupan transaksi. Sesi dapat digunakan untuk memulai, menerapkan, atau membatalkan transaksi. Sesi ini juga digunakan untuk melampirkan, membuat, atau membuka database. Sesi ini digunakan sebagai konteks untuk semua operasi DDL dan DML. Untuk meningkatkan konkurensi dan akses paralel ke database, beberapa sesi dapat dimulai.

    JET_ERR JET_API JetBeginSession(
      __in          JET_INSTANCE instance,
      __out         JET_SESID* psesid,
      __in_opt      JET_PCSTR szUserName,
      __in_opt      JET_PCSTR szPassword
    );

Parameter

Sebagai contoh

Instans database yang digunakan untuk panggilan ini.

psesid

Penunjuk ke variabel yang ditangani sesi diinisialisasi saat pengembalian berhasil.

szUserName

Parameter ini dicadangkan.

szPassword

Parameter ini dicadangkan.

Tampilkan Nilai

Fungsi ini memungkinkan pengembalian JET_ERRyang ditentukan dalam API ini. Untuk informasi selengkapnya tentang kesalahan Jet, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.

Menampilkan kode

Deskripsi

JET_errSuccess

Operasi berhasil diselesaikan.

JET_errClientRequestToStopJetService

Tidak mungkin untuk menyelesaikan operasi karena semua aktivitas pada instans yang terkait dengan sesi telah berhenti sebagai akibat dari panggilan ke JetStopService.

JET_errInstanceUnavailable

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi telah mengalami kesalahan fatal yang mengharuskan akses ke semua data dicabut untuk melindungi integritas data tersebut.

Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

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.

JET_errNotInitialized

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi belum diinisialisasi.

JET_errOutOfMemory

Operasi gagal karena memori tidak dapat dialokasikan.

JET_errOutOfSessions

Jumlah sesi yang akan memungkinkan klien untuk memulai terbatas. Nilai ini dapat diubah menggunakan JetSetSystemParameter dengan konstanta JET_paramMaxSessions. Jumlah default sesi adalah 16. Lihat Parameter Sistem untuk detail tentang JET_paramMaxSessions.

JET_errRestoreInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena operasi pemulihan sedang berlangsung pada instans yang terkait dengan sesi.

JET_errTermInProgress

Tidak dimungkinkan untuk menyelesaikan operasi karena instans yang terkait dengan sesi sedang dimatikan.

Jika berhasil, handel sesi diinisialisasi, dan dapat digunakan untuk operasi database.

Jika gagal, tidak ada sesi yang tersedia atau sesi baru tidak dapat diinisialisasi.

Keterangan

Perhatian yang cermat harus digunakan saat menggunakan sesi di berbagai utas. Sesi melacak utas mana yang digunakan selama JetBeginTransaction, JetCommitTransaction, atau JetRollback, dan itu akan melemparkan kesalahan jika digunakan pada beberapa utas dengan transaksi terbuka. JetResetSessionContext, JetSetSessionContext dapat mengubah perilaku ini. Karena sesi masih merupakan konteks berseri, dan beberapa operasi database tidak dapat dilakukan pada satu sesi secara bersamaan, hanya secara serial. Namun, Anda dapat menggunakan beberapa sesi untuk mencapai akses database bersamaan. Sesi dapat digunakan di dalam transaksi di seluruh utas dengan mengatur dan mengatur ulang konteks sesi.

Handel sesi harus ditutup dengan JetEndSession.

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 JetBeginSessionW (Unicode) dan JetBeginSessionA (ANSI).

Lihat juga

JET_ERR
JET_INSTANCE
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetDupSession
JetEndSession
JetResetSessionContext
JetRollback
JetSetSessionContext
JetStopService
Parameter Sistem