Fungsi JetRollback

Berlaku untuk: Windows | Windows Server

Fungsi JetRollback

Fungsi JetRollback membatalkan perubahan yang dilakukan pada status database dan kembali ke titik penyimpanan terakhir. JetRollback juga akan menutup kursor apa pun yang dibuka selama titik penyimpanan. Jika titik penyimpanan terluar dibatalkan, sesi akan keluar dari transaksi.

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

Parameter

sesid

Sesi yang digunakan untuk panggilan ini.

grbit

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

Nilai

Makna

JET_bitRollbackAll

Opsi ini meminta agar semua perubahan yang dilakukan pada status database selama semua titik penyimpanan dibatalkan. Akibatnya, sesi akan keluar dari transaksi.

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_errClientRequestToStopJetService

Tidak dimungkinkan 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_errNotInitialized

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

JET_errNotInTransaction

Operasi gagal karena sesi yang diberikan tidak dalam transaksi.

JET_errRestoreInProgress

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

JET_errRollbackError

Tidak dimungkinkan untuk memutar kembali perubahan karena kesalahan fatal.

JET_errSessionSharingViolation

Sesi yang sama tidak dapat digunakan untuk lebih dari satu utas secara bersamaan. Kesalahan ini hanya akan dikembalikan oleh Windows XP dan rilis yang lebih baru.

JET_errTermInProgress

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

Jika berhasil, setiap perubahan yang dilakukan pada database selama titik penyimpanan saat ini untuk sesi yang diberikan akan dibatalkan dan titik penyimpanan tersebut akan berakhir. Jika titik penyimpanan terakhir untuk sesi berakhir, sesi akan keluar dari transaksi.

Jika gagal, status transaksional sesi tidak akan berubah. Tidak ada perubahan pada status database yang akan terjadi. Kegagalan selama pembatalan dianggap sebagai kesalahan database bencana.

Keterangan

Harus ada satu panggilan ke JetCommitTransaction atau JetRollback untuk mencocokkan setiap panggilan ke JetBeginTransaction untuk sesi tertentu.

Jika ada kursor yang dibuka (menggunakan JetOpenTable, misalnya) selama titik penyimpanan yang sedang digulung balik maka kursor tersebut akan ditutup.

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.

Lihat juga

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction