0
パッケージの同義語を作成しましたが、単純なdescコマンドを含めて何もできません。コードをチェックアウト:同義語をOracleパッケージで使用する
は同義語と(いない所有者ユーザーで実行)テストSQL
CREATE SYNONYM pkg_elmah$log_error FOR DRSP.pkg_elmah$log_error;
desc pkg_elmah$log_error;
---------RESULT: object does not exist
execute pkg_elmah$log_error.logerror;
---------RESULT: identifier pkg_elmah$log_error must be declared
これらのコードを作成します(所有者ユーザーで実行)パッケージSQL
create or replace PACKAGE pkg_elmah$log_error
IS
PROCEDURE LogError
(
v_ErrorId IN elmah$error.errorid%TYPE,
v_Application IN elmah$error.application%TYPE,
v_Host IN elmah$error.host%TYPE,
v_Type IN elmah$error.type%TYPE,
v_Source IN elmah$error.source%TYPE,
v_Message IN elmah$error.message%TYPE,
v_User IN elmah$error.username%TYPE,
v_AllXml IN elmah$error.allxml%TYPE,
v_StatusCode IN elmah$error.statuscode%TYPE,
v_TimeUtc IN elmah$error.timeutc%TYPE
);
END pkg_elmah$log_error;
を作成します。これらのオブジェクトの所有者とログインすると正常に実行されます。
次のようにグラントは、(それがORA-04042を与えるように私は、唯一の手順に与えることができないように見えるので、私はパッケージにそれを与えた)与えられた:
grant execute on PKG_ELMAH$LOG_ERROR to not_owner
環境:WINDOWS 7 64-ビット; SQLデベロッパー4.0.3.16;同義語のOracleクライアント11.2
詳細:あなたは間違った順序で何かをやっているか、そうでなければ伝えるために省略している
シノニム所有者に許可を実行したとしますか? –
私は手続きのためにしかできないように、私はパッケージに助成金を渡しました。 –
コマンドにスキーマを追加する 'CREATE SYNONYM [SCHEMA] .pkg_elmah $ log_error FOR DRSP.pkg_elmah $ log_error; ' –