Share via


sp_OAGetProperty (Transact-SQL)

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

Icona di collegamento a un argomentoConvenzioni 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

Guida in linea e informazioni

Assistenza su SQL Server 2005