2017-02-06 48 views
0

SQL ServerからOracleデータベースへのリンクサーバーをセットアップしました。接続は正常にテストされました。私は、SQL Serverからのテーブルを照会するために、次を使用して、それが正常に私の結果セットが返さ:リンクされたサーバーのOLE DBプロバイダ「OraOLEDB.Oracle」がメッセージ「ORA-06576:有効な関数またはプロシージャ名ではありません」

EXEC ('select * from tablename') AT [linkedservername] 

を私はOracleデータベースから以下を実行し、それ(ストアドプロシージャ)が動作します:

EXEC schemaname.storedprocedurename 

しかし、私は、SQLサーバーからこれを実行したとき、それは私に返されたエラーメッセージがORA-00900: invalid SQL statement

EXEC('call schemaname.storedprocedurename') AT [linkedservername] 

誰もが原因である可能性がありますどのような任意のアイデアを持っていますか?

+0

EXEC [RemoteServer] .DatabaseName.DatabaseOwner.StoredProcedureName' – Eric

答えて

0

Matt、 プロシージャ名の後に()がありません。

EXEC('call schemaname.storedprocedurename()') AT [linkedservername] 

また、以下の

  1. のを確認してサーバをリンクするために使用されているアカウントが、ストアドプロシージャ(スキーマ)
  2. へのアクセス権を持っている時には、スキーマ名を省略する必要があるかもしれませんし、 'SPName()'を呼び出すだけです。
関連する問題