sp_OAGetProperty (Transact-SQL)

Si applica a:SQL Server

Ottiene il valore di una proprietà di un oggetto OLE.

Convenzioni di sintassi Transact-SQL

Sintassi

  
sp_OAGetProperty objecttoken , propertyname   
    [ , propertyvalue OUTPUT ]  
    [ , index...]   

Argomenti

objecttoken
Token oggetto 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 di dati int. Un token di oggetto viene archiviato nella variabile locale e questo token di oggetto può essere usato con altre stored procedure di automazione OLE.

Se la proprietà restituisce un singolo valore, specificare una variabile locale per propertyvalue, che restituisce il valore della proprietà nella variabile locale oppure non specificare propertyvalue, che restituisce il valore della proprietà al client come set di risultati a colonna singola e a riga singola.

Quando la proprietà restituisce una matrice, se si specifica propertyvalue , viene impostata su NULL.

Se si specifica propertyvalue , ma la proprietà non restituisce un valore, si verifica un errore. Viene inoltre generato un errore se la proprietà restituisce una matrice a più di due dimensioni.

index
Parametro di indice. Se specificato, l'indice 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.

Valori del codice restituito

0 (esito positivo) o un numero diverso da zero (esito negativo) corrispondente al valore intero del codice HRESULT restituito dall'oggetto di automazione OLE.

Per altre informazioni sui codici restituiti HRESULT, vedere Codici restituiti di automazione OLE e informazioni sugli errori.

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 a riga singola con lo stesso numero di colonne del numero di elementi nella matrice. In altri termini, la matrice viene restituita in forma di colonne.

  • Una matrice bidimensionale viene restituita al client come set di risultati costituito 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 un valore restituito della proprietà o un valore restituito dal 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 un'analisi di tutti i valori di dati della matrice per determinare quali sono i tipi di dati di SQL Server appropriati e la lunghezza di dati da usare 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 verrà applicato all'intera colonna. Se i valori di dati di una colonna sono 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:

È anche possibile usare sp_OAMethod per ottenere un valore della proprietà.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin o l'autorizzazione di esecuzione direttamente in questa stored procedure. Ole Automation Procedures la configurazione deve essere abilitata per utilizzare qualsiasi procedura di sistema correlata all'automazione OLE.

Esempi

R. Utilizzo di una variabile locale

Nell'esempio seguente viene recuperata la HostName proprietà (dell'oggetto SQLServer creato in precedenza) e la archivia 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 viene recuperata la HostName proprietà (dell'oggetto SQLServer creato in precedenza) e la restituisce al client come set di risultati.

EXEC @hr = sp_OAGetProperty @object, 'HostName';  
IF @hr <> 0  
BEGIN  
   EXEC sp_OAGetErrorInfo @object  
    RETURN  
END;  

Vedi anche

Stored procedure di automazione OLE (Transact-SQL)
Script di automazione OLE di esempio