sp_OAGetProperty (Transact-SQL)
Ottiene il valore di una proprietà di un oggetto OLE.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index...]
Argomenti
- objecttoken
Token di un oggetto OLE creato in precedenza tramite sp_OACreate.
- propertyname
Nome di proprietà dell'oggetto OLE da restituire.
propertyvalueOUTPUT
Valore di proprietà restituito. Se specificato, deve essere una variabile locale del tipo di dati appropriato.Se la proprietà restituisce un oggetto OLE, propertyvalue deve essere una variabile locale di tipo int. Nella variabile locale viene archiviato un token di oggetto utilizzabile in altre stored procedure di automazione OLE.
Se la proprietà restituisce un solo valore, per propertyvalue è possibile specificare una variabile locale, con cui il valore di proprietà viene restituito nella variabile locale, oppure è possibile omettere propertyvalue. In questo caso il valore della proprietà viene restituito al client come set di risultati con una sola colonna e una sola riga.
Se propertyvalue è stato specificato, quando la proprietà restituisce una matrice il parametro viene impostato su NULL.
Se è stato specificato propertyvalue, ma la proprietà non restituisce alcun valore, viene generato un errore. Viene inoltre generato un errore se la proprietà restituisce una matrice a più di due dimensioni.
index
Parametro di indice. Se specificato, index deve essere un valore del tipo di dati appropriato.Ad alcune proprietà sono associati parametri. Tali proprietà sono denominate proprietà indicizzate e i parametri corrispondenti sono denominati parametri di indice. A una proprietà possono essere associati più parametri di indice.
[!NOTA] I parametri di questa stored procedure vengono specificati in base alla posizione, non in base al nome.
Set di risultati
Se la proprietà restituisce una matrice a una o due dimensioni, la matrice viene restituita al client come set di risultati:
- Una matrice unidimensionale viene restituita al client come set di risultati composto da una singola riga e da un numero di colonne pari al numero di elementi della matrice. In altri termini, la matrice viene restituita in forma di colonne.
- Una matrice bidimensionale viene restituita al client come set di risultati composto da un numero di colonne pari al numero di elementi della prima dimensione della matrice e un numero di righe pari al numero di elementi della seconda dimensione della matrice. In altri termini, la matrice viene restituita come (colonne, righe).
Quando il valore restituito da una proprietà o un metodo è una matrice, sp_OAGetProperty o sp_OAMethod restituisce un set di risultati al client. I parametri di output dei metodi non possono essere rappresentati da matrici. Queste procedure eseguono la scansione di tutti i valori di dati della matrice per determinare quali sono i tipi di dati di SQL Server appropriati e la lunghezza dei dati da utilizzare per ogni colonna del set di risultati. Per una colonna specifica, queste procedure utilizzano il tipo di dati e la lunghezza necessari per rappresentare tutti i valori di dati della colonna.
Se a tutti i valori di dati di una colonna è associato lo stesso tipo di dati, tale tipo di dati viene utilizzato per l'intera colonna. Se i valori di dati di una colonna utilizzano tipi di dati diversi, il tipo di dati della colonna viene scelto in base allo schema seguente.
int | float | money | datetime | varchar | nvarchar | |
---|---|---|---|---|---|---|
int |
int |
float |
money |
varchar |
varchar |
nvarchar |
float |
float |
float |
money |
varchar |
varchar |
nvarchar |
money |
money |
money |
money |
varchar |
varchar |
nvarchar |
datetime |
varchar |
varchar |
varchar |
datetime |
varchar |
nvarchar |
varchar |
varchar |
varchar |
varchar |
varchar |
varchar |
nvarchar |
nvarchar |
nvarchar |
nvarchar |
nvarchar |
nvarchar |
nvarchar |
nvarchar |
Osservazioni
È inoltre possibile utilizzare la stored procedure sp_OAMethod per recuperare un valore di proprietà.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del server sysadmin.
Valori restituiti
0 (esito positivo) o un numero diverso da zero (esito negativo) corrispondente al valore integer del codice HRESULT restituito dall'oggetto di automazione OLE.
Per ulteriori informazioni sui codici restituiti HRESULT, vedere Codici restituiti e informazioni sugli errori di automazione OLE.
Esempi
A. Utilizzo di una variabile locale
Nell'esempio seguente la proprietà HostName
dell'oggetto SQLServer creato in precedenza viene recuperata e archiviata in una variabile locale.
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. Utilizzo di un set di risultati
Nell'esempio seguente la proprietà HostName
dell'oggetto SQLServer creato in precedenza viene recuperata e restituita al client come set di risultati.
EXEC @hr = sp_OAGetProperty @object, 'HostName'
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
Vedere anche
Riferimento
Stored procedure di automazione OLE (Transact-SQL)
Altre risorse
Script di automazione OLE di esempio