私はOpenQuery
でストアドプロシージャを呼び出し、パラメータをストアドプロシージャに渡します。OpenQueryでパラメータ化されたストアドプロシージャを呼び出す - SQL Server 2008
declare @Src nvarchar(max),@Tgt nvarchar(max)
declare @sql_str nvarchar (4000)
set @Src = '$\VMT\Versions\0900\AMS\'
set @Tgt = '$\VMT\Versions\0900\Base\'
set @sql_str = 'exec [Tfs_VMT Collection].dbo.MergeCandidate ''' + @Src+ ''' , ''' [email protected]+''' '
set @sql_str = 'select * into #test from openquery(ODSSERVER,''' +Replace(@sql_str,'''', '''''') +''')'
print @sql_str
EXEC (@sql_str)
が、これは誤り
メッセージ7357、レベル16、状態2次で失敗し、1行目
は、オブジェクト「EXEC [Tfs_VMT コレクション] .dbo.MergeCandidate「$ \を処理できませんVMT \ Versions \ 0900 \ AMS \ '、 ' $ \ VMT \ Versions \ 0900 \ Base \ '"に変更する必要があります。 のOLE DBプロバイダー「SQLNCLI10」は、オブジェクト「」が存在しないか、または現在のユーザーにそのオブジェクトに対するアクセス許可がないことを示します。
これはアクセス許可とは関係ありません。
助けてもらえますか?
このストアドプロシージャでGRANT EXECを試してみましたが、これは役に立ちませんか? – sll
Print @sql_strの値を受け取り、正常に実行できますか? – JeffO
このエラーはありません – Anirudh