This appears to be bug in the Macromedia JDBC Driver for Oracle...

Troy Simpson wrote:

> I am using Oracle9i Release 2 (9.2.0.3.0) with CFMX 6.1
>
> I am calling the Oracle Stored procedure "find_NestedTable" with
> <cfstoredproc> and I get an empty recordset/query.  But when I use
> another oracle tool like TOAD or SQLPLUS to call the TEST procedure
> which calls find_NestedTable, I get the 7 items printed out.
>
> Could someone give this code a try and see if you get the same results?
>
> Package Spec:
> ------------------------------------
> CREATE OR REPLACE PACKAGE Test_PKG
> AS
>    /***************************************************/
>    /* Public Package Variables, etc.  */
>    /***************************************************/
>    -- Define a generic cursor type.
>    TYPE generic_curtype IS REF CURSOR;
>    --
>    --
>    /***********************************************************
>     *
>     **********************************************************/
>    PROCEDURE find_NestedTable
>    (
>      p_p IN VARCHAR2 DEFAULT '1,3,6,22,30,66,98',
>      p_cur IN OUT generic_curType
>    );
>    /***********************************************************
>     *
>     **********************************************************/
>    PROCEDURE TEST;
>    /***********************************************************
>     *
>     **********************************************************/
> END;
> /
> ------------------------------------
> End Package Spec
> --
> Package Body:
> ------------------------------------
> CREATE OR REPLACE PACKAGE BODY test_pkg AS
>    /***********************************************************
>     *
>     **********************************************************/
>    PROCEDURE list2table
>    (
>      p_list IN VARCHAR2,
>      p_tbl IN OUT number_nt_type
>    )
>    AS
>      --
>      v_str VARCHAR2(100) DEFAULT p_list || ',';
>      v_pos NUMBER := NULL;
>      --v_tbl number_nt_type := number_nt_type();
>    BEGIN
>      LOOP
>        v_pos := INSTR( v_str, ',', 1 );
>        EXIT WHEN v_str IS NULL OR NVL(v_pos,0) <= 1;
>        p_tbl.EXTEND;
>        p_tbl( p_tbl.COUNT ) := SUBSTR(v_str,1,v_pos-1);
>        v_str := SUBSTR( v_str, v_pos+1);
>      END LOOP;
>      --
>      --FOR i IN v_tbl.FIRST..v_tbl.LAST LOOP
>      --  DBMS_OUTPUT.PUT_LINE( i || ':' || v_tbl( i ) );
>      --END LOOP;
>      --
>    END;
>    /***********************************************************
>     *
>     **********************************************************/
>    PROCEDURE find_NestedTable
>    (
>      p_p IN VARCHAR2 DEFAULT '1,3,6,22,30,66,98',
>      p_cur IN OUT generic_curType
>    )
>    IS
>      -- should be present
>      v_p number_nt_type := number_nt_type();-- (1,3,6,22,30,66,98);
>    BEGIN
>      list2table( p_p, v_p );
>      OPEN p_cur FOR SELECT * FROM TABLE(CAST(v_p AS number_nt_type)) c;
>    END;
>    /***********************************************************
>     *
>     **********************************************************/
>    PROCEDURE TEST
>    IS
>      -- should be present
>      v_str VARCHAR2(100):= '1,3,6,22,30,66,98';
>      v_cur generic_curType;
>      v_num NUMBER;
>    BEGIN
>      find_NestedTable( v_str, v_cur );
>      LOOP
>        FETCH v_cur INTO v_num;
>        IF v_cur%NOTFOUND THEN EXIT; END IF;
>        DBMS_OUTPUT.PUT_LINE( v_num );
>      END LOOP;
>    END;
>    /***********************************************************
>     *
>     **********************************************************/
> END;
> /
> ------------------------------------
> End Package Body
> Begin CFMX code:
> ------------------------------------
> <cfstoredproc procedure="#variables.schema#.test_pkg.find_NestedTable"
> datasource="#variables.dsn#">
> <cfprocparam type="In" cfsqltype="CF_SQL_VARCHAR" dbvarname="p_p"
> value="1,3,6,22,30,66,98" null="yes">
> <cfprocresult name="qry" resultset="1" maxrows="20" >
> </cfstoredproc>
> ------------------------------------
> End CFMX code
>
> Thanks,
> Troy
> --
> Troy Simpson
>    Applications Analyst/Programmer, OCPDBA, MCSE, SCSA
> North Carolina State University Libraries
> Campus Box 7111 | Raleigh | North Carolina
> ph.919.515.3855 | fax.919.513.3330
> E-mail: [EMAIL PROTECTED]
>
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to