Pesan Diagnostik
Pesan diagnostik dikembalikan dengan setiap SQLSTATE. SQLSTATE yang sama sering dikembalikan dengan sejumlah pesan yang berbeda. Misalnya, SQLSTATE 42000 (Kesalahan sintaks atau pelanggaran akses) dikembalikan untuk sebagian besar kesalahan dalam sintaks SQL. Namun, setiap kesalahan sintaks kemungkinan akan dijelaskan oleh pesan yang berbeda.
Contoh pesan diagnostik tercantum di kolom Kesalahan dalam tabel SQLSTATEs di Lampiran A dan di setiap fungsi. Meskipun driver dapat mengembalikan pesan ini, mereka lebih cenderung mengembalikan pesan apa pun yang diteruskan kepada mereka oleh sumber data.
Aplikasi umumnya menampilkan pesan diagnostik kepada pengguna, bersama dengan SQLSTATE dan kode kesalahan asli. Ini membantu pengguna dan personel dukungan menentukan penyebab masalah apa pun. Informasi komponen yang disematkan dalam pesan sangat membantu dalam melakukan ini.
Pesan diagnostik berasal dari sumber data dan komponen dalam koneksi ODBC, seperti driver, gateway, dan Driver Manager. Biasanya, sumber data tidak secara langsung mendukung ODBC. Akibatnya, jika komponen dalam koneksi ODBC menerima pesan dari sumber data, komponen tersebut harus mengidentifikasi sumber data sebagai sumber pesan. Ini juga harus mengidentifikasi dirinya sebagai komponen yang menerima pesan.
Jika sumber kesalahan atau peringatan adalah komponen itu sendiri, pesan diagnostik harus menjelaskan hal ini. Oleh karena itu, teks pesan memiliki dua format yang berbeda. Untuk kesalahan dan peringatan yang tidak terjadi di sumber data, pesan diagnostik harus menggunakan format ini:
[ vendor-identifier ][ ODBC-component-identifier ] component-supplied-text
Untuk kesalahan dan peringatan yang terjadi di sumber data, pesan diagnostik harus menggunakan format ini:
[ vendor-identifier ][ ODBC-component-identifier ][ data-source-identifier ] data-source-supplied-text
Tabel berikut menunjukkan arti setiap elemen.
Elemen | Makna |
---|---|
pengidentifikasi vendor | Mengidentifikasi vendor komponen tempat kesalahan atau peringatan terjadi atau yang menerima kesalahan atau peringatan langsung dari sumber data. |
Pengidentifikasi komponen ODBC | Mengidentifikasi komponen tempat kesalahan atau peringatan terjadi atau yang menerima kesalahan atau peringatan langsung dari sumber data. |
pengidentifikasi sumber data | Mengidentifikasi sumber data. Untuk driver berbasis file, ini biasanya merupakan format file, seperti Xbase[1] Untuk driver berbasis DBMS, ini adalah produk DBMS. |
teks yang disediakan komponen | Dihasilkan oleh komponen ODBC. |
data-source-supplied-text | Dihasilkan oleh sumber data. |
[1] Dalam hal ini, driver bertindak sebagai driver dan sumber data.
Tanda kurung siku ([ ]) harus disertakan dalam pesan dan tidak menunjukkan item opsional.