0

OracleXE db:ALICEとに 2 人のユーザーがいますBOB。次の一連の手順は、ローカル マシンで成功します。

  • として接続ALICE
  • トップレベルの型を作成します: create or replace type testtype as object(x number(16)); (編集: Matthew McPeak を誤解させた間違った名前 foo からの修正)
  • として接続BOB
  • BOBのタイプを確認しALICEます:
    • select * from all_types行を返します
    • declare x ALICE.testtype; begin null; end;コンパイルする

開発データベースに同じ手順を適用すると、型が に見えない状況BOB、つまり select が型の行を返さない状況で生成され、PLSQL ブロックのコンパイルがPLS-00201: identifier 'ALICE.TESTTYPE' must be declaredエラーで失敗します。

タイプを可視化する必要があるので、質問します。この違いの原因は何ですか? (タイプまたはパブリック シノニムに対する許可が必要であると推測しましたが、この最小限の例では反対のことが証明されています。) ユーザー/セッションのプロパティは? 私はグーグルで最善を尽くしましたが、解決策が簡単であることを願っていますが、今は立ち往生しています。どちらのデータベースも Oracle 11g (11.2.0.1.0 dev、11.2.0.2.0 ローカル) です。

ありがとう!

4

1 に答える 1