Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kesuaian
Versi diperkenalkan: Kepatuhan Standar ODBC 1.0: ISO 92
Ringkasan
SQLDisconnect menutup koneksi yang terkait dengan handel koneksi tertentu.
Sintaksis
SQLRETURN SQLDisconnect(
SQLHDBC ConnectionHandle);
Argumen
[Input] Handel koneksi.
Kembali
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, SQL_INVALID_HANDLE, atau SQL_STILL_EXECUTING.
Diagnostik
Saat SQLDisconnect
| SQLSTATE | Kesalahan | Deskripsi |
|---|---|---|
| 01000 | Peringatan umum | Pesan informasi khusus driver. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.) |
| 01002 | Kesalahan pemutusan sambungan | Terjadi kesalahan selama pemutusan sambungan. Namun, pemutusan sambungan berhasil. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.) |
| 08003 | Koneksi tidak terbuka | (DM) Koneksi yang ditentukan dalam argumen ConnectionHandle tidak terbuka. |
| 25000 | Status transaksi tidak valid | Ada transaksi dalam proses pada koneksi yang ditentukan oleh argumen ConnectionHandle. Transaksi tetap aktif. |
| HY000 | Kesalahan umum | Terjadi kesalahan yang tidak ada SQLSTATE tertentu dan tidak ada SQLSTATE khusus implementasi yang ditentukan. Pesan kesalahan yang dikembalikan oleh |
| HY001 | Kesalahan alokasi memori | Driver tidak dapat mengalokasikan memori yang diperlukan untuk mendukung eksekusi atau penyelesaian fungsi. |
| HY008 | Operasi dibatalkan | Pemrosesan asinkron diaktifkan untukConnectionHandle Fungsi ini dipanggil, dan sebelum selesai mengeksekusi SQLCancelHandle dipanggil pada ConnectionHandle dari utas yang berbeda dalam aplikasi multithread. |
| HY010 | Kesalahan urutan fungsi | (DM) Fungsi eksekusi asinkron dipanggil untuk StatementHandle (DM) Fungsi eksekusi asinkron (bukan yang ini) dipanggil untuk ConnectionHandle dan masih dijalankan ketika fungsi ini dipanggil. (DM) |
| HY013 | Kesalahan manajemen memori | Panggilan fungsi tidak dapat diproses karena objek memori yang mendasar tidak dapat diakses, mungkin karena kondisi memori yang rendah. |
| HY117 | Koneksi ditangguhkan karena status transaksi yang tidak diketahui. Hanya fungsi putuskan sambungan dan baca-saja yang diizinkan. | (DM) Untuk informasi selengkapnya tentang status ditangguhkan, lihat Fungsi SQLEndTran. |
| HYT01 | Batas waktu koneksi kedaluwarsa | Periode batas waktu koneksi kedaluwarsa sebelum sumber data merespons permintaan, dan koneksi masih aktif. Periode batas waktu koneksi diatur melalui SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | Driver tidak mendukung fungsi ini | (DM) Driver yang terkait dengan ConnectionHandle |
| IM017 | Polling dinonaktifkan dalam mode pemberitahuan asinkron | Setiap kali model pemberitahuan digunakan, polling dinonaktifkan. |
| IM018 | SQLCompleteAsync belum dipanggil untuk menyelesaikan operasi asinkron sebelumnya pada handel ini. | Jika panggilan fungsi sebelumnya pada handel mengembalikan SQL_STILL_EXECUTING dan jika mode pemberitahuan diaktifkan, SQLCompleteAsync harus dipanggil pada handel untuk melakukan pasca-pemrosesan dan menyelesaikan operasi. |
Komentar
Jika aplikasi memanggil SQLDisconnect
Jika aplikasi memanggil SQLDisconnect saat ada transaksi yang tidak lengkap yang terkait dengan handel koneksi, driver mengembalikan SQLSTATE 25000 (Status transaksi tidak valid), menunjukkan bahwa transaksi tidak berubah dan koneksi terbuka. Transaksi yang tidak lengkap adalah transaksi yang belum diterapkan atau digulung balik dengan SQLEndTran.
Jika aplikasi memanggil SQLDisconnect sebelum membebaskan semua pernyataan yang terkait dengan koneksi, driver, setelah berhasil terputus dari sumber data, membebaskan pernyataan tersebut dan semua deskriptor yang telah dialokasikan secara eksplisit pada koneksi. Namun, jika satu atau beberapa pernyataan yang terkait dengan koneksi masih dijalankan secara asinkron, SQLDisconnect mengembalikan SQL_ERROR dengan nilai SQLSTATE HY010 (Kesalahan urutan fungsi). Selain itu, SQLDisconnect akan membebaskan semua pernyataan terkait dan semua deskriptor yang telah dialokasikan secara eksplisit pada koneksi, jika koneksi dalam status ditangguhkan atau jika SQLDisconnect berhasil dibatalkan oleh SQLCancelHandle.
Untuk informasi tentang cara aplikasi menggunakanSQLDisconnect
Memutuskan sambungan dari Koneksi Terkumpul
Jika pengumpulan koneksi diaktifkan untuk lingkungan bersama dan aplikasi memanggil SQLDisconnect pada koneksi di lingkungan tersebut, koneksi dikembalikan ke kumpulan koneksi dan masih tersedia untuk komponen lain menggunakan lingkungan bersama yang sama.
Contoh Kode
LihatProgram ODBC Sampel
Fungsi Terkait
Lihat Juga
Referensi API ODBC