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.
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.
Mengatur nilai parameter pengembalian panggilan prosedur tersimpan jarak jauh. Fungsi ini telah digantikan oleh fungsi srv_paramsetoutput .
Sintaks
int srv_paramset (
SRV_PROC *
srvproc
,
int
n
,
void *
data
,
int
len
);
Argumen
srvproc
Adalah penunjuk ke struktur SRV_PROC yang merupakan handel untuk koneksi klien tertentu (dalam hal ini, handel yang menerima panggilan prosedur tersimpan jarak jauh). Struktur berisi informasi yang digunakan pustaka EXTENDED Stored Procedure API untuk mengelola komunikasi dan data antara aplikasi dan klien.
n
Menunjukkan jumlah parameter yang akan diatur. Parameter pertama adalah 1.
data
Adalah penunjuk ke nilai data yang akan dikirim kembali ke klien sebagai parameter pengembalian prosedur tersimpan jarak jauh.
Len
Menentukan panjang aktual data yang akan dikembalikan. Jika jenis data parameter memiliki panjang konstan dan tidak mengizinkan nilai null (misalnya, srvbit atau srvint1), len diabaikan.
Mengembalikan
BERHASIL jika nilai parameter berhasil diatur; jika tidak, FAIL. FAIL dikembalikan ketika tidak ada prosedur tersimpan jarak jauh saat ini, ketika tidak ada parameter prosedur tersimpan jarak jauh nth, ketika parameter bukan parameter pengembalian, dan ketika argumen len tidak legal.
Jika len adalah 0, lensamengembalikan NULL. Mengatur lensa ke 0 adalah satu-satunya cara untuk mengembalikan NULL ke klien.
Fungsi ini mengembalikan nilai berikut, jika parameter adalah salah satu jenis data Microsoft SQL Server 2005 (9.x).
| Jenis data baru | Mengembalikan panjang data |
|---|---|
| BITN | NULL: len = 0, data = IG, RET = 0 NOL: N/A >=255: N/A <255: N/A |
| BIGVARCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| BIGCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| BIGBINARY | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| BIGVARBINARY | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| NCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| NVARCHAR | NULL: len = 0, data = IG, RET = 1 ZERO: len = IG, data = IG, RET = 0 >=255: len = max8k, data = valid, RET = 0 <255: len = <8k, data = valid, RET = 1 |
| NTEXT | NULL: len = IG, data = IG, RET = 0 ZERO: len = IG, data = IG, RET = 0 >=255: len = IG, data = IG, RET = 0 <255: len = IG, data = IG, RET = 0 |
| RET = Mengembalikan nilai srv_paramset | |
| IG = Nilai akan diabaikan | |
| valid = Setiap penunjuk yang valid ke data |
Keterangan
Parameter berisi data yang diteruskan antara klien dan aplikasi dengan prosedur tersimpan jarak jauh. Klien dapat menentukan parameter tertentu sebagai parameter pengembalian. Parameter pengembalian ini dapat berisi nilai yang diteruskan kembali oleh aplikasi server Open Data Services ke klien. Menggunakan parameter pengembalian dianalogikan untuk meneruskan parameter berdasarkan referensi.
Anda tidak dapat mengatur nilai pengembalian untuk parameter yang tidak dipanggil sebagai parameter pengembalian. Anda dapat menggunakan srv_paramstatus untuk menentukan bagaimana parameter dipanggil.
Fungsi ini mengatur nilai pengembalian untuk parameter tetapi tidak benar-benar mengirim nilai pengembalian ke klien. Semua parameter pengembalian, apakah nilai pengembaliannya telah diatur dengan srv_paramset atau tidak, secara otomatis dikirim ke klien ketika srv_senddone dipanggil dengan bendera status SRV_DONE_FINAL diatur.
Ketika panggilan prosedur tersimpan jarak jauh dilakukan dengan parameter, parameter dapat diteruskan baik berdasarkan nama atau berdasarkan posisi (tidak disebutkan namanya). Jika panggilan prosedur tersimpan jarak jauh dilakukan dengan beberapa parameter yang diteruskan oleh nama dan beberapa diteruskan oleh posisi, kesalahan terjadi. Handler SRV_RPC masih dipanggil, tetapi muncul seolah-olah tidak ada parameter, dan srv_rpcparams mengembalikan 0.
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.