リモート データベースで呼び出される Oracle 関数を作成し、getEmployee(id in varchar)
データベース リンクを使用してローカル データベースから呼び出そうとしています。
ではgetEmployee
、従業員データを含むカーソルを返そうとしています。 (テーブル: 従業員 (ID、名前、住所)):
SELECT schema.getEmployee@dblink(id)
FROM DUAL;
列名 (ID、名前、アドレス) で結果セットを取得するにはどうすればよいですか?
Contrad によると、ローカル関数を次のように変更しました。
FUNCTION LocalGetEmployee(ID in varchar2)
RETURN Schema.SomeRefCursor
AS
OUTPUT Schema.SomeRefCursor;
BEGIN
OUTPUT := schema.getEmployee@dblink(ID);
RETURN OUTPUT;
END;
しかし、Java コードからこの関数を呼び出すと、次のエラーが発生します。
「ORA-24338: 文ハンドルが実行されていません」