リンクされた Sybase サーバーを備えた SQL Server 2008 があり、OPENQUERY を使用して Sybase サーバーでストアド プロシージャを実行しようとしています。パラメータを取らないストアド プロシージャがある場合、問題なく成功します。パラメータを持つストアド プロシージャがある場合、失敗します。int のみを取る非常に基本的なストアド プロシージャを試してみましたが、それでも失敗しました。以下は私が使用している構文です:
select * from
OPENQUERY([LINKSERVER],'exec database.user.my_stored_proc ''AT'',''XXXX%'',''1111'',1')
メッセージ 7357、レベル 16、状態 2、行 3 オブジェクト "exec database.user.my_stored_proc 'AT','XXXX%','1111',1" を処理できません。リンク サーバー "LINKSERVER" の OLE DB プロバイダー "ASEOLEDB" は、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対するアクセス許可を持っていないことを示しています。
proc はパラメーターなしで問題なく実行されるため、パーミッションの問題ではないと思います。