Fungsi SQLGetEnvAttr

Kesesuaian
Versi Diperkenalkan: Kepatuhan Standar ODBC 3.0: ISO 92

Summary
SQLGetEnvAttr mengembalikan pengaturan saat ini dari atribut lingkungan.

Syntax

  
SQLRETURN SQLGetEnvAttr(  
     SQLHENV        EnvironmentHandle,  
     SQLINTEGER     Attribute,  
     SQLPOINTER     ValuePtr,  
     SQLINTEGER     BufferLength,  
     SQLINTEGER *   StringLengthPtr);  

Arguments

EnvironmentHandle
[Input] Pengelolaan lingkungan.

Atribut
[Input] Atribut untuk diambil.

ValuePtr
[Output] Penunjuk ke buffer untuk mengembalikan nilai saat ini dari atribut yang ditentukan oleh Atribut.

Jika ValuePtr bernilai NULL, StringLengthPtr tetap akan mengembalikan total jumlah byte (tidak termasuk karakter null-termination untuk data karakter) yang tersedia untuk dikembalikan di buffer yang ditunjuk oleh ValuePtr.

BufferLength
[Input] Jika ValuePtr menunjuk ke string karakter, argumen ini harus memiliki panjang *ValuePtr. Jika *ValuePtr adalah bilangan bulat, BufferLength diabaikan. Jika *ValuePtr adalah string Unicode (saat memanggil SQLGetEnvAttrW), argumen BufferLength harus berupa angka genap. Jika nilai atribut bukan string karakter, BufferLength tidak digunakan.

StringLengthPtr
[Output] Sebuah pointer ke buffer untuk mengembalikan total jumlah byte (tidak termasuk karakter null-terminasi) yang tersedia untuk dikembalikan dalam *ValuePtr. Jika nilai atribut adalah string karakter dan jumlah byte yang tersedia untuk dikembalikan lebih besar atau sama dengan BufferLength, data dalam *ValuePtr dipotong menjadi BufferLength dikurangi panjang karakter null-termination dan dihentikan null-terminate oleh driver.

Returns

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR, atau SQL_INVALID_HANDLE.

Diagnostics

Ketika SQLGetEnvAttr mengembalikan SQL_ERROR atau SQL_SUCCESS_WITH_INFO, nilai SQLSTATE yang terkait dapat diperoleh dengan memanggil SQLGetDiagRec dengan HandleType dari SQL_HANDLE_ENV dan Handle dari EnvironmentHandle. Tabel berikut mencantumkan nilai SQLSTATE yang umum dikembalikan oleh SQLGetEnvAttr dan menjelaskan masing-masing dalam konteks fungsi ini; notasi "(DM)" mendahului deskripsi SQLSTATE yang dikembalikan oleh Driver Manager. Kode pengembalian yang terkait dengan setiap nilai SQLSTATE SQL_ERROR, kecuali disebutkan sebaliknya.

SQLSTATE Kesalahan Deskripsi
01000 Peringatan umum Pesan informasi khusus driver. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.)
01004 Data string, terpotong kanan Data yang dikembalikan dalam *ValuePtr dipotong menjadi BufferLength dikurangi karakter null-terminasi. Panjang nilai string yang tidak terpotong dikembalikan dalam *StringLengthPtr. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.)
HY000 Kesalahan umum Terjadi kesalahan yang tidak ada SQLSTATE tertentu dan tidak ada SQLSTATE khusus implementasi yang ditentukan. Pesan kesalahan yang dikembalikan oleh SQLGetDiagRec di buffer *MessageText menjelaskan kesalahan dan penyebabnya.
HY001 Kesalahan alokasi memori Driver tidak dapat mengalokasikan memori yang diperlukan untuk mendukung eksekusi atau penyelesaian fungsi.
HY010 Kesalahan urutan fungsi (DM) SQL_ATTR_ODBC_VERSION belum diatur melalui SQLSetEnvAttr. Anda tidak perlu mengatur SQL_ATTR_ODBC_VERSION secara eksplisit jika Anda menggunakan SQLAllocHandleStd.
HY013 Kesalahan manajemen memori Panggilan fungsi tidak dapat diproses karena objek memori yang mendasar tidak dapat diakses, mungkin karena kondisi memori yang rendah.
HY092 Pengidentifikasi atribut/opsi tidak valid Nilai yang ditentukan untuk argumen Attribute tidak valid untuk versi ODBC yang didukung oleh driver.
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.
HYC00 Fitur opsional tidak diimplementasikan Nilai yang ditentukan untuk argumen Attribute adalah atribut lingkungan ODBC yang valid untuk versi ODBC yang didukung oleh driver tetapi tidak didukung oleh driver.
IM001 Driver tidak mendukung fungsi ini (DM) Driver yang sesuai dengan EnvironmentHandle tidak mendukung fungsi tersebut.

Komentar

Untuk daftar atribut, lihat SQLSetEnvAttr. Tidak ada atribut lingkungan khusus pengemudi. Jika Attribute menentukan atribut yang mengembalikan string, ValuePtr harus menjadi penunjuk ke buffer untuk mengembalikan string tersebut. Panjang maksimum string, termasuk byte null-terminasi, akan menjadi byte BufferLength .

SQLGetEnvAttr dapat dipanggil kapan saja antara alokasi dan pembebasan handle lingkungan. Semua atribut lingkungan yang berhasil diatur oleh aplikasi untuk lingkungan tersebut akan tetap ada hingga SQLFreeHandle dipanggil pada EnvironmentHandle dengan HandleType SQL_HANDLE_ENV. Lebih dari satu handle lingkungan dapat dialokasikan secara bersamaan di ODBC 3*.x*. Atribut lingkungan pada satu lingkungan tidak terpengaruh ketika lingkungan lain telah dialokasikan.

Note

Atribut lingkungan SQL_ATTR_OUTPUT_NTS didukung oleh aplikasi yang sesuai standar. Ketika SQLGetEnvAttr dipanggil, Driver Manager ODBC 3*.x* selalu mengembalikan SQL_TRUE untuk atribut ini. SQL_ATTR_OUTPUT_NTS hanya dapat diatur ke SQL_TRUE dengan memanggil SQLSetEnvAttr.

Untuk informasi mengenai Lihat
Mengembalikan pengaturan atribut koneksi Fungsi SQLGetConnectAttr
Mengembalikan pengaturan atribut pernyataan Fungsi SQLGetStmtAttr
Mengatur atribut koneksi Fungsi SQLSetConnectAttr
Mengatur atribut lingkungan Fungsi SQLSetEnvAttr
Mengatur atribut pernyataan Fungsi SQLSetStmtAttr