0

Apex のページ プロセスから、Oracle データベースのパッケージにある関数を呼び出そうとしています。次の呼び出しでプロシージャを呼び出すことができます。

#OWNER#.package_name.procedure_name( p1 => p2);

要件の 1 つによると、特定の関数が true または false を返すかどうかを確認し、それに応じてアクションを実行する必要があります。したがって、pl/sqlソース(apex内)については、これを試しています:

BEGIN

IF (#OWNER.package_name.function_name(p1)) THEN
--do something

END;

しかし、関数を宣言する必要があると書かれています(apexでこのエラーが発生します)。どこが間違っているのかわかりません。私はAPEXに本当に慣れていないので、助けていただければ幸いです。また、apex ページから pl/sql コード (Oracle db 内) へのアクセスについて詳しく学べるチュートリアルを誰かが知っていれば、それは本当に素晴らしいことです!

4

1 に答える 1

0

APEX からデータベースに接続するために使用するユーザーは、その機能を実行する権限を持っていますか?

そのユーザーとしてデータベースにログインし、その機能を実行できますか?

関数を含むパッケージの を作成しPUBLIC SYNONYMて、パッケージが属するスキーマの名前なしで呼び出すことができますか?

そのユーザーが以下を使用して権限を持っているかどうかを確認できます (そのユーザーとしてログインするのが最適です)。

SELECT *
  FROM user_tab_privs -- or dba_tab_privs if logged as sys etc.
WHERE grantee = 'YOUR_USERNAME'
  AND privilege = 'EXECUTE'
  AND table_name = 'YOUR_PACKAGE_NAME'
;
于 2013-10-08T09:34:08.457 に答える