Zarówno OPENROWSET, jak i OPENDATASOURCE powinny być używane tylko do uzyskiwania dostępu do danych zewnętrznych dla, powiedzmy, szybkich i brudnych rozwiązań lub gdy nie można skonfigurować stałego serwera połączonego. Te funkcje nie zapewniają wszystkich funkcji dostępnych z serwera połączonego. Argumenty OPENROWSET i OPENDATASOURCE nie obsługują zmiennych. Muszą być określone jako ciąg znaków. Jeśli zmienne muszą być przekazywane jako argumenty do tych funkcji, ciąg zapytania zawierający te zmienne można konstruować dynamicznie i wykonywać za pomocą instrukcji EXEC. Podobnie jak (bez sprawdzania składni)
DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT *
FROM OPENROWSET(''SQLNCLI'',''server=.\sqlexpress;Trusted_Connection=yes'',''SET NOCOUNT ON;SET FMTONLY OFF;EXEC [BSC_DB].dbo.SelectScorecardGraphData ''''' + cast(@param1 as varchar(10)) + ''''',''' + cast(@param2 as varchar(n)) ''')'
EXEC @sqlCommand
I tak dalej... Mam nadzieję, że to pomoże. Z poważaniem Stefan