ORACLE 11g - COLDFUSION 9 - REF CURSOR - 変数が少なくとも1つあります。ColdFusionで変数を使用すると、値を返すためにOracleストアドプロシージャを取得する方法はありますか?
変数を使用するColdFusionでは、値を返すためにOracleストアドプロシージャを取得する方法はありますか。
私たちはいくつかのことを試みました。変数を渡すのではなく、変数を渡すときに結果セットを返すストアドプロシージャを取得できます。
MS SQLを呼び出す方法はわかっています。
ありがとうございました
P.S.私たちはこれが現在のOracleドライバでは不可能かもしれないと聞いてきましたが、そこには異なるOracleドライバがありますか?
私がオンラインで読んできたことから、これは単なるコーディングの問題ではないと思っています。私はそれが間違っていることを願っています。これは私が概念の証明として取り組んでいた単なる例であるため、それらのすべてを作成することができます。私はref cusorを使用していない場合、私はそれを働かせることができます。
エラーデータベースクエリを実行しています。
[Macromedia] [Oracle JDBC Driver]指定されたSQL型は、このドライバでサポートされていません。
エラーがDで発生しました:\ apacheの\ htdocsに\テスト\のindex.cfmに:ライン86
84: 85: 86: 87: 88:
CFコール手順に
<cfstoredproc procedure="BWNGDBADEV.PACK_REFCURSOR.GETALL" datasource="mydatasourcename" returncode="no">
<cfprocparam type="InOut" cfsqltype="CF_SQL_INTEGER" variable="pPERSONNELID" value="4" null="No">
<cfprocparam type="Out" cfsqltype="CF_SQL_REFCURSOR" variable="AnyVarName">
<!--- *** This name ties StoredProc results to the query below *** --->
<cfprocresult name="myvar">
</cfstoredproc>
のOracleパッケージ
CREATE OR REPLACE
PACKAGE PACK_REFCURSOR
AS
TYPE EMP_TableRows
IS
REF
CURSOR
RETURN BWNGDBADEV.PER_PERSONNEL%ROWTYPE;
PROCEDURE GETALL(
pPERSONNELID IN OUT BWNGDBADEV.PER_PERSONNEL.PERSONNELID%type,
OUTTABLE OUT EMP_TableRows);
END PACK_REFCURSOR ;
/
CREATE OR REPLACE
PACKAGE BODY PACK_REFCURSOR
AS
PROCEDURE GETALL(
pPERSONNELID IN OUT BWNGDBADEV.PER_PERSONNEL.PERSONNELID%type,
OUTTABLE OUT EMP_TableRows)
IS
BEGIN
-- implicit cursor is opened - no close needed ***
OPEN OUTTABLE FOR
SELECT *
FROM BWNGDBADEV.PER_PERSONNEL
WHERE PERSONNELID = pPERSONNELID;
END GETALL ;
END PACK_REFCURSOR ;
/
SPまたはSPの一部を完全に表示できますか?それなら、私はそれを辿ることができます。 – ppshein
私が間違っていない場合、私はOracleが結果セット全体をサポートできるとは思わない。 – ppshein