sp_OAGetProperty (T-SQL)
Berlaku untuk:SQL Server
Mendapatkan nilai properti objek OLE.
Sintaks
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index...]
Argumen
objecttoken
Adalah token objek objek OLE yang sebelumnya dibuat dengan menggunakan sp_OACreate.
nama properti
Adalah nama properti objek OLE yang akan dikembalikan.
output propertyvalue
Adalah nilai properti yang dikembalikan. Jika ditentukan, variabel harus berupa variabel lokal dari jenis data yang sesuai.
Jika properti mengembalikan objek OLE, propertyvalue harus berupa variabel lokal dari int tipe data. Token objek disimpan dalam variabel lokal, dan token objek ini dapat digunakan dengan prosedur tersimpan OLE Automation lainnya.
Jika properti mengembalikan nilai tunggal, tentukan variabel lokal untuk propertyvalue, yang mengembalikan nilai properti dalam variabel lokal; atau tidak menentukan propertyvalue, yang mengembalikan nilai properti ke klien sebagai kumpulan hasil satu kolom, baris tunggal.
Saat properti mengembalikan array, jika propertyvalue ditentukan, properti diatur ke NULL.
Jika propertyvalue ditentukan, tetapi properti tidak mengembalikan nilai, kesalahan terjadi. Jika properti mengembalikan array dengan lebih dari dua dimensi, kesalahan akan terjadi.
index
Adalah parameter indeks. Jika ditentukan, indeks harus merupakan nilai dari jenis data yang sesuai.
Beberapa properti memiliki parameter. Properti ini disebut properti terindeks, dan parameter disebut parameter indeks. Properti dapat memiliki beberapa parameter indeks.
Catatan
Parameter untuk prosedur tersimpan ini ditentukan berdasarkan posisi, bukan nama.
Mengembalikan Nilai Kode
0 (berhasil) atau angka bukan nol (kegagalan) yang merupakan nilai bilangan bulat HRESULT yang dikembalikan oleh objek OLE Automation.
Untuk informasi selengkapnya tentang Kode Pengembalian HRESULT, lihat Kode Pengembalian Otomatisasi OLE dan Informasi Kesalahan.
Tataan Hasil
Jika properti mengembalikan array dengan satu atau dua dimensi, array dikembalikan ke klien sebagai kumpulan hasil:
Array satu dimensi dikembalikan ke klien sebagai hasil baris tunggal yang diatur dengan kolom sebanyak ada elemen dalam array. Dengan kata lain, array dikembalikan sebagai kolom.
Array dua dimensi dikembalikan ke klien sebagai hasil yang ditetapkan dengan kolom sebanyak ada elemen dalam dimensi pertama array dan dengan baris sebanyak ada elemen dalam dimensi kedua array. Dengan kata lain, array dikembalikan sebagai (kolom, baris).
Saat nilai pengembalian properti atau nilai pengembalian metode adalah array, sp_OAGetProperty atau sp_OAMethod mengembalikan hasil yang diatur ke klien. (Parameter output metode tidak boleh array.) Prosedur ini memindai semua nilai data dalam array untuk menentukan jenis data dan panjang data SQL Server yang sesuai untuk digunakan untuk setiap kolom dalam tataan hasil. Untuk kolom tertentu, prosedur ini menggunakan jenis dan panjang data yang diperlukan untuk mewakili semua nilai data di kolom tersebut.
Saat semua nilai data dalam kolom memiliki tipe data yang sama, tipe data tersebut digunakan untuk seluruh kolom. Saat nilai data dalam kolom memiliki tipe data yang berbeda, tipe data dari seluruh kolom dipilih berdasarkan bagan berikut.
int | float | money | datetime | varchar | nvarchar | |
---|---|---|---|---|---|---|
int | int | float | Uang | varchar | varchar | nvarchar |
float | float | float | Uang | varchar | varchar | nvarchar |
Uang | Uang | Uang | Uang | varchar | varchar | nvarchar |
datetime | varchar | varchar | varchar | datetime | varchar | nvarchar |
varchar | varchar | varchar | varchar | varchar | varchar | nvarchar |
nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar |
Keterangan
Anda juga dapat menggunakan sp_OAMethod untuk mendapatkan nilai properti.
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin atau menjalankan izin langsung pada Prosedur Tersimpan ini. Ole Automation Procedures
konfigurasi harus diaktifkan untuk menggunakan prosedur sistem apa pun yang terkait dengan OLE Automation.
Contoh
J. Menggunakan variabel lokal
Contoh berikut mendapatkan HostName
properti (dari objek SQLServer yang dibuat sebelumnya) dan menyimpannya dalam variabel lokal.
DECLARE @property varchar(255);
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT;
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property;
B. Menggunakan tataan hasil
Contoh berikut mendapatkan HostName
properti (dari objek SQLServer yang dibuat sebelumnya) dan mengembalikannya ke klien sebagai kumpulan hasil.
EXEC @hr = sp_OAGetProperty @object, 'HostName';
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END;
Lihat Juga
Prosedur Tersimpan Automasi OLE (Transact-SQL)
Skrip Sampel Automasi OLE
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk