sp_OAGetProperty (T-SQL)

Berlaku untuk:SQL Server

Mendapatkan nilai properti objek OLE.

Konvensi sintaks transact-SQL

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