Bagikan melalui


srv_describe (EXTENDED Stored Procedure API)

Berlaku untuk:SQL Server

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan integrasi CLR sebagai gantinya.

Menentukan nama kolom dan jenis data sumber dan tujuan untuk kolom tertentu dalam baris.

Sintaks

  
int srv_describe (  
SRV_PROC *  
srvproc  
,  
int  
colnumber  
,  
DBCHAR *  
column_name  
,  
int  
namelen  
,  
DBINT  
desttype  
,  
DBINT  
destlen  
,  
DBINT  
srctype  
,  
DBINT  
srclen  
,  
void *  
srcdata  
);  

Argumen

srvproc
Adalah penunjuk ke struktur SRV_PROC yang merupakan handel untuk koneksi klien tertentu (dalam hal ini, klien yang mengirim baris). Struktur berisi semua informasi yang digunakan pustaka EXTENDED Stored Procedure API untuk mengelola komunikasi dan data antara aplikasi dan klien.

kolnumber
Saat ini tidak didukung. Kolom harus dijelaskan secara berurutan. Semua kolom harus dijelaskan sebelum srv_sendrow dipanggil.

column_name
Menentukan nama kolom tempat data berada. Parameter ini bisa NULL karena kolom tidak diperlukan untuk memiliki nama.

namelen
Menentukan panjang, dalam byte, dari column_name. Jika namelen SRV_NULLTERM, maka column_name harus dihentikan null.

desttype
Menentukan tipe data kolom baris tujuan. Ini adalah jenis data yang dikirim ke klien. Jenis data harus ditentukan meskipun data adalah NULL, untuk informasi selengkapnya, lihat Jenis Data (EXTENDED Stored Procedure API).

destlen
Menentukan panjang, dalam byte, data yang akan dikirim ke klien. Untuk jenis data dengan panjang tetap yang tidak mengizinkan nilai null, destlen diabaikan. Untuk jenis data panjang variabel dan jenis data panjang tetap yang memungkinkan nilai null, destlen menentukan panjang maksimum yang dapat dilakukan data tujuan.

srctype
Menentukan jenis data data sumber.

srclen
Menentukan panjang, dalam byte, dari data sumber. Nilai ini diabaikan untuk jenis data dengan panjang tetap.

srcdata
Menyediakan alamat data sumber untuk kolom tertentu. Ketika srv_sendrow dipanggil, ia mencari data untuk kolnumber di srcdata. Oleh karena itu tidak boleh dibebaskan sebelum panggilan ke srv_sendrow. Alamat data sumber dapat diubah di antara panggilan ke srv_sendrow dengan menggunakan srv_setcoldata. Memori yang dialokasikan untuk srcdata tidak boleh dibebaskan hingga data kolom digantikan oleh panggilan lain ke srv_setcoldata, atau sampai srv_senddone dipanggil.

Jika desttype adalah SRVDECIMAL atau SRVNUMERIC, parameter srcdata harus menjadi penunjuk ke struktur DBNUMERIC atau DBDECIMAL dengan bidang presisi dan skala struktur yang sudah diatur ke nilai yang Anda inginkan. Anda dapat menggunakan DEFAULTPRECISION untuk menentukan presisi default, dan DEFAULTSCALE untuk menentukan skala default.

Mengembalikan

Jumlah kolom yang dijelaskan. Kolom pertama adalah kolom 1. Jika terjadi kesalahan, mengembalikan 0.

Keterangan

Fungsi srv_describe harus dipanggil sekali untuk setiap kolom dalam baris sebelum panggilan pertama ke srv_sendrow. Kolom baris dapat dijelaskan dalam urutan apa pun.

Untuk mengubah lokasi dan panjang data sumber dalam baris kolom sebelum kumpulan hasil lengkap dikirim, gunakan srv_setcoldata dan srv_setcollen.

Untuk deskripsi jenis data dan konversi jenis data EXTENDED Store Procedure API, lihat Jenis Data (EXTENDED Stored Procedure API).

Jika nama kolom dalam aplikasi Anda berada di Unicode, Anda perlu mengonversinya ke halaman kode multibyte server sebelum memanggil srv_describe. Untuk informasi selengkapnya, lihat Data Unicode dan Halaman Kode Server.

Penting

Anda harus meninjau kode sumber prosedur tersimpan yang diperluas secara menyeluruh, dan Anda harus menguji DLL yang dikompilasi sebelum menginstalnya di server produksi. Untuk informasi tentang peninjauan dan pengujian keamanan, lihat situs Web Microsoft ini.

Lihat Juga

srv_sendrow (EXTENDED Stored Procedure API)
srv_setutype (EXTENDED Stored Procedure API)
srv_setcoldata (EXTENDED Stored Procedure API)