Udostępnij za pośrednictwem


sp_OAMethod (języka Transact-SQL)

Wywołuje metoda obiektu.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

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

  • methodname
    Jest nazwą metoda obiektu OLE do wywoływania.

  • returnvalue DANE WYJŚCIOWE
    Jest to wartość zwracana metoda obiektu OLE.Jeśli określono, musi być zmienna lokalna o odpowiedni typ danych.

    Metoda zwraca jedną wartość, albo określić zmienna lokalna dla returnvalue, z którego zwracana metoda zwraca wartość w zmiennej lokalnej lub nie określaj returnvalue, która zwraca wartość zwrotu metody do klient jako jedno-kolumna, pojedynczy wiersz wyniku zestawu.

    Jeśli metoda zwracać wartość jest obiekt OLE returnvalue musi być zmiennej lokalnej typu danych int. Token obiektu jest przechowywana w zmiennej lokalnej, a token ten obiekt może być używany z innymi automatyzacji OLE przechowywanych procedur.

    Metoda zwraca wartość jest tablica, jeśli returnvalue jest określony, jest on zestaw wartości null.

    Błąd powstaje, gdy zachodzi jeden z następujących czynności:

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

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

    • Metoda zwraca tablicę jako parametru wyjściowego.

  • [ @parametername**=** ] parameter[ OUTPUT ]
    To parametr metoda.Jeśli określono, parametermusi być wartością typu danych.

    Aby uzyskać wartości zwracanej jako parametr wyjściowy parameter musi być zmiennej lokalnej typu danych i DANE WYJŚCIOWE musi być określona.Jeżeli określono wartość parametru o stała lub DANE WYJŚCIOWE nie jest określony, wszystkie zwracanej wartości z parametru wyjściowego jest ignorowana.

    If specified, parametername must be the name of the Microsoft Visual Basic named parameter.Note that @parameternameis not a Transact-SQL local variable.The at sign (@) is removed, and parameternameis passed to the OLE object as the parameter name.Po określono wszystkich parametrów pozycyjne, należy określić wszystkie parametry nazwane.

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

    Uwaga

    @parametername może być nazwany parametr, ponieważ jest częścią określonej metoda, zostaje przesłany do obiektu.Inne parametry dla tej procedura przechowywana są określone za pomocą pozycji nie nazwę.

Wartości kodów powrotnych

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

Aby uzyskać więcej informacji na temat HRESULT zwracanych kodów OLE Automation Return Codes and Error Information.

Zestawy wyników

Metoda zwraca wartość ma postać tablicy, z jednego lub dwóch wymiarów, tablica jest zwracane do klient jako zestaw wyników:

  • Jednowymiarowa tablica jest zwracane do klient, zestaw wyników pojedynczy wiersz z elementów w tablicy są jako istnieje wiele kolumn.Innymi słowy tablicy są zwracane jako (kolumny).

  • Dwuwymiarowej tablicy jest zwracany do klient jako zestaw wyników ze wszystkich kolumn, w pierwszym wymiarze tablicy a o tyle wierszy, drugi wymiar tablicy nie ma elementów nie ma elementów.Innymi słowy tablicy są zwracane jako (kolumn, wierszy).

Gdy wartość zwrócona przez właściwość lub metoda zwraca wartość ma postać tablicy, sp_OAGetProperty or sp_OAMethod zwraca zestaw wyników do klient.(Parametry wyjściowe metoda nie może być tablicami.) Procedury te skanowanie wszystkich wartości danych w tablicy w celu określenia odpowiednich SQL Server Ustaw typy danych i długość danych dla każdej kolumna, w wyniku. Dla określonej kolumna te procedury za pomocą typu danych i długość wymaganego do reprezentowania wszystkich wartości danych w tej kolumnie.

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

 

int

zmiennoprzecinkowe

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

Remarks

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

Uprawnienia

Członkostwo w grupie wymaga sysadmin stała rola serwera.

Przykłady

A.Wywołanie metoda

Następujące wywołania przykład 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.Uzyskiwanie właściwość

Poniższy przykład pobiera HostName Właściwość (z utworzonego wcześniej SQLServer obiektu) 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