OPENROWSET と OPENDATASOURCE の両方を使用するのは、外部データにアクセスする場合、たとえば、クイック ソリューションとダーティ ソリューションの場合、または永続的なリンク サーバーを構成できない場合に限って使用する必要があります。これらの関数は、リンク サーバーから利用できるすべての機能を提供するわけではありません。OPENROWSET と OPENDATASOURCE の引数は、変数をサポートしていません。文字列リテラルとして指定する必要があります。変数をこれらの関数に引数として渡す必要がある場合、これらの変数を含むクエリ文字列を動的に構築し、EXEC ステートメントを使用して実行できます。類似 (構文チェックなし)
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
プレ>などなど...お役に立てば幸いです。よろしく、ステファン