Udostępnij za pośrednictwem


sp_OAMethod (języka Transact-SQL)

Wywołuje metoda obiektu OLE.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_OAMethod objecttoken , methodname
    [ , returnvalue OUTPUT ] 
    [ , [ @parametername = ] parameter [ OUTPUT ] [ ...n ] ] 

Argumenty

  • objecttoken
    Jest tokenem obiektu obiektu OLE, który został wcześniej utworzony przy użyciu sp_OACreate.

  • methodname
    Jest nazwą metoda wywołania obiektu OLE.

  • returnvalue DANE WYJŚCIOWE
    To wartość zwracana przez metoda obiektu OLE.Jeśli określony, musi być zmienną lokalną odpowiedni typ danych.

    Jeśli metoda zwraca jedną wartość, albo określić zmiennej lokalnej returnvalue, która zwraca metoda zwracają wartość w zmiennej lokalnej lub nie określaj returnvalue, które zwraca wartość zwracana metoda do klient jako jedno -kolumna, pojedynczego wiersza, zestaw wyników.

    Jeśli metoda zwraca wartość jest obiekt OLE returnvalue musi być lokalną zmienną typu danych int.Token obiektu jest przechowywana w zmiennej lokalnej, a token ten obiekt może być używana z innymi procedurami automatyzacji OLE przechowywane.

    Kiedy metoda zwraca wartość jest tablicą, jeśli returnvalue jest określony, jest zestaw na NULL.

    Błąd jest wywoływane, gdy występuje jeden z następujących czynności:

    • returnvaluejest określony, ale metoda nie zwraca wartości.

    • metoda zwraca tablicę z więcej niż dwóch wymiarów.

    • metoda zwraca tablicę jako parametr wyjściowy.

  • [ @parametername**=** parameterOUTPUT
    Jest parametrem metoda .Jeśli określony, parametermusi być wartością typu odpowiednie dane.

    Do uzyskania zwrotu wartości parametru wyjściowego, parameter musi być zmienną lokalną odpowiedni typ danych, i produkcji musi być określony.Jeżeli określono parametr stała lub produkcji nie jest określony, dowolne zwracają wartość parametru wyjściowego jest ignorowana.

    Jeśli określony, parametername musi mieć nazwę Microsoft Visual Basic o nazwie parametru.Należy zauważyć, że @*parametername *nie jest Transact-SQL zmiennej lokalnej.Znak (@**) jest usuwany i parametername* *jest przekazywana jako parametr Nazwa obiektu OLE.Wszystkie nazwane parametry muszą być określone po wszystkich parametrów pozycyjne są określone.

  • n
    Jest symbolem zastępczym wskazującą, można określić wiele parametrów.

    Ostrzeżenie

    @parameternamemoże być nazwany parametr, ponieważ jest częścią określona metoda i, są przekazywane do obiektu.Inne parametry dla tej procedura składowana są określane przez położenie nie nazwę.

Wartości kodów powrotnych

0 (sukces) lub liczbę różną od zera (błąd), która jest wartością całkowitą wartość HRESULT zwrócone przez obiekt automatyzacji OLE.

Aby uzyskać więcej informacji na temat zwracanych kodów HRESULT OLE automatyzacji kody zwrotne i informacje o błędzie.

Zestawy wyników

metoda zwraca wartość jest tablicą o jeden lub dwa wymiary, tablica jest zwracane do klient jako zestaw wyników:

  • Jednowymiarowa tablica jest zwracana do klient jako pojedynczy wiersz zestaw wyników tyle kolumn w tablicy nie ma elementów.Innymi słowy tablicy są zwracane jako (kolumny).

  • Dwuwymiarowa tablica jest zwracana do klient jako zestaw wyników tam wiele kolumn są elementy w pierwszym wymiar tablicy i o tyle wierszy, jak elementy drugi wymiar tablicy.Innymi słowy tablicy są zwracane jako (kolumny, wiersze).

Gdy wartość zwrócona przez właściwość lub metoda zwraca wartość jest tablicą, sp_OAGetProperty lub sp_OAMethod zwraca zestaw wyników do klient.(Parametry wyjściowe metody nie może być tablicami). Procedury te skanowanie wszystkich wartości danych w celu określenia odpowiednich SQL Server typów danych i długości danych należy użyć dla każdej kolumna w zestaw wyników.Dla określonej kolumnatych procedur należy użyć typu danych i długość zobowiązany do reprezentowania wszystkich wartości danych w tej kolumna.

Podczas wszystkich wartości danych w kolumna mają ten sam typ danych, ten typ danych jest używany dla całej kolumna.Gdy wartości danych w kolumna są różnych typów danych, typ danych w całej kolumna wybierany jest oparte na poniższym wykresie.

 

int

Pływak

pieniądze

data_i_godzina

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

Uwagi

Można również użyć sp_OAMethod uzyskać wartość właściwość .

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera.

Przykłady

A.Wywołanie metoda

Następujący przykład wywołania Connect metoda utworzone wcześniej SQLServer obiektu.

EXEC @hr = sp_OAMethod @object, 'Connect', NULL, 'my_server',
    'my_login', 'my_password'
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END

B.Pobieranie właściwość

Poniższy przykład pobiera HostName właściwość (z utworzonego wcześniej SQLServer object) i zapisuje ją w zmiennej lokalnej.

DECLARE @property varchar(255)
EXEC @hr = sp_OAMethod @object, 'HostName', @property OUT
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END
PRINT @property