Udostępnij za pośrednictwem


Jak Wykonanie procedury przechowywanej (przy użyciu połączenia ODBC składnię) i proces zwracane kody i parametrów wyjściowych (OLE DB)

Procedury przechowywane programu SQL Server może mieć całkowitą zwracają kodów i parametrów wyjściowych.Kody zwrotne i parametry wyjściowe są wysyłane w ostatnim pakiet z serwera i są zatem niedostępne do aplikacji aż do zestawu zestaw wierszy jest całkowicie zwolnione.Jeśli polecenie zwraca wiele wyniki, dane wyjściowe parametr jest dostępne, gdy IMultipleResults::GetResult zwraca DB_S_NORESULT lub IMultipleResults interfejs jest całkowicie zwolnione, cokolwiek nastąpi najpierw.

Kody zwrotne procesu i parametrów wyjściowych

  1. Konstruowanie instrukcja języka SQL , używa sekwencji unikowej wywołanie ODBC.instrukcja należy użyć parametru dla każdego wejścia/wyjścia i parametr wyjścia i procedury zwracają wartość (jeśli ma zastosowanie).Parametrów wejściowych można użyć parametru lub twardego kodu, wartości.

  2. Tworzenie zestaw powiązania (jeden dla każdego parametru maker) za pomocą tablicy struktury DBBINDING.

  3. Create an accessor for the defined parameters by using the IAccessor::CreateAccessor method.CreateAccessor creates an accessor from a set of bindings.

  4. Wypełnij struktury DBPARAMS.

  5. Wywołanie Execute (w tym przypadek wywołanie procedura składowana).

  6. Przetwarzanie zestawu zestaw wierszy, a następnie zwolnij go za pomocą IRowset::Release metoda.

  7. Przetwarzać kod zwrotny i wartości parametrów wyjściowych otrzymanych od procedura składowana.

Przykład

W przykładzie przetwarzania zestawu zestaw wierszy, kod zwrotny i parametru wyjściowego.Zbiory nie są przetwarzane.Oto próbki procedura składowana używany przez aplikację.

USE AdventureWorks2008R2;
GO
DROP PROCEDURE myProc;
GO

CREATE PROCEDURE myProc 
    @inparam int,
    @outparam int OUTPUT

AS
SELECT Color, ListPrice 
FROM Production.Product WHERE Size > @inparam;
SELECT @outparam = 100

IF  (@outparam > 0)
    RETURN 999
ELSE
    RETURN 888;
GO

Zakończenie przykładowy kod znajduje się w pliku InitializeAndEstablishConnection_A.cpp.Można pobrać archiwum zawierające próbki z Pobierania programu SQL Server strona w witrynie MSDN.

Próbka ta została opracowana przy użyciu programu Microsoft Visual C++ 2005.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, Monituj użytkownikom wprowadzanie poświadczeń przy uruchomieniu czas.Unikaj przechowywania poświadczenia w pliku.Jeśli poświadczenia muszą zostać zachowane, należy zaszyfrować je z Funkcji Crypto API Win32.