Zowel OPENROWSET als OPENDATASOURCE moeten alleen worden gebruikt voor toegang tot externe gegevens voor, laten we zeggen, snelle en vuile oplossingen, of wanneer het niet mogelijk is om een permanent gekoppelde server te configureren. Deze functies bieden niet alle functionaliteit die beschikbaar is vanaf een gekoppelde server. De argumenten van OPENROWSET en OPENDATASOURCE ondersteunen geen variabelen. Ze moeten worden opgegeven als string-letterlijk. Als variabelen als argumenten aan deze functies moeten worden doorgegeven, kan een queryreeks die deze variabelen bevat dynamisch worden geconstrueerd en uitgevoerd met behulp van de EXEC-instructie. Vergelijkbaar met (niet op syntaxis gecontroleerd)
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
En zo verder... Hoop dat dat helpt. Met vriendelijke groet, Stefan