call a stored procedure with OUT VARCHAR2 parameter fails

Hi all

I use the Oracle 11.2.0.1 version OLE DB provider. I have a simple stored procedure that contains a VARCHAR2 OUT parameter:

create or replace procedure TestOut (RESULT_CODE OUT VARCHAR2) is
Start
RESULT_CODE: = 'X '.
TestOut end;

The following c# code piece fails:

String ConnStr = "Provider = OraOLEDB.Oracle; User ID = test; Password = test; Data Source = sandbox; « ;
OleDbConnection Conn = new OleDbConnection (ConnStr);
Conn.Open ();
OleDbCommand Cmd new OleDbCommand();
Cmd.Connection = Conn;
OleDbParameter Param = Cmd.CreateParameter ();
Param.ParameterName = "RESULT_CODE ';
Param.Direction = System.Data.ParameterDirection.Output;
Param.OleDbType = OleDbType.BSTR;
Param.Size = 1;
Cmd.Parameters.Add (Param);

Cmd.CommandType = System.Data.CommandType.Text.
Cmd.CommandText = "{TESTOUT (?). CALL} ";
Cmd.ExecuteNonQuery ();

If the stored procedure is modified to contain an OUT parameter, the same code works, after you change the type of parameter to appropriate OleDBType (OleDbType.SmallInt).

What am I doing wrong when handling OUTPUT VARCHAR parameters? Y at - there any limitation on the types of parameters stored procedure using the Oracle OleDB provider?

Published by: user957565 on 1/Ago/2011 06:31

I get an access violation, using 11202. What do you get?

In any case, it works fine for me using OleDbType.VarChar instead of OleDbType.BSTR.

Hope this helps, comments welcome.

Greg

Tags: Database

Similar Questions

  • C# Oracle.DataAccess calling a stored procedure with a date parameter throws formatexception

    C# Oracle.DataAccess CommandType.StoredProcedure is OracleDbType. Date

    I can't get my code to call an oracle procedure that has an order date.

    I receive a System.FormatException occurred in Oracle.DataAccess.dll

    I tried to assign the param. Value = DateTime and also tried assigning as a string formatted with no luck.

    What is the magic formula, I need to call this function?

    Here is a code snippet:

    OracleCommand cmd = new OracleCommand();

    cmd connection group appConn;.

    cmd.CommandText = "mypackage.myprocedure";

    cmd.CommandType = CommandType.StoredProcedure;

    Param = new OracleParameter ("iDateParamter", OracleDbType.Date, ParameterDirection.Input);

    Param. Value = "August 31, 2015."

    Here are other formats I' tried... ved param. Value = myDateValue.ToString ("dd - MMM-yyyy"). ToUpper(); (/ / "MM/dd/yyyy"); 'YYYY-MM-dd'); "MM-dd-yyyy");

    cmd. Parameters.Add (param);

                BindByName. cmd = true;

                cmd ExecuteNonQuery());

    Shame on me..., you can close this message

    It was not for the error on my date field, I had another parameter that has been attributed to a string instead of an integer.

    For the record, this has worked well for me:

    Param = new OracleParameter ("iActvyPerDate", OracleDbType.Date, ParameterDirection.Input);

    Param. Value = li. ActvyPerDate.ToString ("dd-MMM-yyyy"). ToUpper();

  • How to call a stored procedure with a REF CURSOR output parameter

    I'm looking forward to example calling a function/stored procedure with a REF CURSOR output parameter and get the result.
    In other words, I have a stored function/procedure that runs a SELECT statement using the OCI library and then he could get the values of each row and each column.

    I put a code snippet, it have only the main thing to call a simple stored procedure and to print the name of each column of the cursor, but I couldn t to print out values in the table that calls the stored procedure.
    I understand that the next step is to call an OCIStmtFetch.
    How to associate the slider with the OCIStmtFetch?

    If you need more information, just tell me.

    I use ANSI C with HP - UX (HP - UX C) operating system and Oracle 10 g.


    Kind regards.

    Antonio Garcia


    / * callOracleSP * /.

    #include < stdio.h >
    #include < string.h >
    #include < oci.h >
    #include < stdlib.h > to

    char * pConnectChar = "Server";
    char * pUsernameChar = "user";
    char * pPasswordChar = "passwd";
    char * sqlCharArray1 = "BEGIN SP_GETCITIES (:,: c); END; « ;
    int retval;
    UB4 parmcnt = 0;
    UB4 pos2 = 0;
    text * pcoln [20];
    UB4 namelen [20];
    char state_key [5];

    OCIStmt * pOciStatement;
    OCIStmt * pOciStatCursor;
    OCIError * pOciError;
    OCIEnv * pOciEnviron;
    OCIServer * pOciServer;
    OCISession * pOciSession;
    OCISvcCtx * pOciServiceContext;
    OCIBind * pOciBind [500];
    OCIParam * pOciParam;


    int main()
    {
    retval = OCIEnvCreate (& pOciEnviron, OCI_DEFAULT, NULL, NULL, NULL, NULL, 0, NULL);
    retval = OCIEnvInit (& pOciEnviron, OCI_DEFAULT, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciError, OCI_HTYPE_ERROR, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciServiceContext, OCI_HTYPE_SVCCTX, 0, NULL);
    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciStatement, OCI_HTYPE_STMT, 0, NULL);

    retval = OCILogon (pOciEnviron, pOciError, & pOciServiceContext,(unsigned char *) pUsernameChar,
    strlen (pUsernameChar), (unsigned char *) pPasswordChar, strlen (pPasswordChar).
    (unsigned char *) pConnectChar, strlen (pConnectChar));
    printf ("retval=%d\n",retval OCILogon);

    retval = OCIStmtPrepare (pOciStatement, pOciError, (unsigned char *) sqlCharArray1, strlen (sqlCharArray1),)
    OCI_NTV_SYNTAX, OCI_DEFAULT);
    printf ("StmtPrepare retval=%d\n",retval);

    retval = OCIHandleAlloc (pOciEnviron, (void *) & pOciStatCursor, OCI_HTYPE_STMT, 0, NULL);
    retval = 1 OCIBindByPos(pOciStatement,&pOciBind[0], pOciError, (ub4), (void *) & state_key,)
    ((sb4) sizeof (state_key), SQLT_STR, (void *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT (ub4));
    printf ("BindByPos OCI_HTYPE_STMT retval=%d\n",retval);

    retval = OCIBindByPos(pOciStatement,&pOciBind[1], pOciError, (ub4) 2, (void *) & pOciStatCursor,)
    ((sb4) 0, SQLT_RSET, (void *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT (ub4));
    printf ("BindByPos OCI_HTYPE_STMT retval=%d\n",retval);

    strcpy (state_key, 'ca');

    retval = OCIStmtExecute (pOciServiceContext, pOciStatement, pOciError, (ub4) 1, (ub4) 0,)
    (OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT (ub4));
    printf ("StmtExecute retval=%d\n",retval);

    / * How to get the values of the cursor? */

    / * Number of parameters of the cursor * /.
    OCIAttrGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), (void *) & parmcnt,(ub4 *) 0,)
    (ub4) (OCI_ATTR_PARAM_COUNT, pOciError);
    printf ("\nNumber of the slider settings = %d\n",parmcnt);

    for (int pos = 1; pos < = (int) parmcnt; pos ++)
    {
    OCIAttrGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), (void *) & pos2,(ub4 *) 0,)
    (ub4) (OCI_ATTR_CURRENT_POSITION, pOciError);
    retval = OCIParamGet ((void *) pOciStatCursor, OCI_HTYPE_STMT (ub4), pOciError, (void *) & pOciParam,)
    POS (ub4));
    OCIAttrGet pOciParam, (ub4) ((void*) OCI_DTYPE_PARAM,(void*) & pcoln [pos - 1],(ub4 *) & namelen [pos-1],)
    (ub4) OCI_ATTR_NAME,(OCIError *) pOciError);
    }
    for (int i = 1; i < = (int) parmcnt; i ++)
    printf ("%i\tNAME = % column. ("* s\n", i, namelen [i-1], pcoln [i-1]);

    return 0;
    }


    This is the script that create the table, insert records and create the stored procedure

    CREATE TABLE CITIES)
    STATE_CODE VARCHAR2 (2) NULL,
    CITY_CODE NUMBER (15.5) NULL,
    CITY_NAME VARCHAR2 (30) NULL
    )
    /


    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 30, 'SAN DIEGO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 40 'SACRAMENTO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('FL', 10, 'MIAMI')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('FL', 20, 'ORLANDO')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('NEW YORK', 10, 'NEW YORK')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('NEW YORK', 20, 'ALBANY')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 10, 'LOS ANGELES')
    /
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES ('CA', 20, 'SAN FRANCISCO')
    /


    CREATE or REPLACE PACKAGE globalPkg AUTHID CURRENT_USER AS
    / * The following is specific global variables T/SQL. */
    TYPE RCT1 IS REF CURSOR; / * new cursor low definition * /.
    END globalPkg;
    /



    CREATE OR REPLACE PROCEDURE SP_ADDCITY)
    P_STATE_CODE IN VARCHAR,
    P_CITY_CODE NUMBER,
    P_CITY_NAME IN VARCHAR2,
    P_RETURN IN NUMBERS)
    AS
    StoO_error INTEGER;
    StoO_selcnt INTEGER;
    StoO_rowcnt INTEGER;
    StoO_errmsg VARCHAR2 (255);

    BEGIN
    StoO_rowcnt: = 0;
    StoO_error: = 0;
    StoO_selcnt: = 0;
    P_RETURN: = 0;
    INSERT INTO CITIES (STATE_CODE, CITY_CODE, CITY_NAME)
    VALUES (P_STATE_CODE, P_CITY_CODE, P_CITY_NAME);
    StoO_rowcnt: = number of LINES SQL %;
    EXCEPTION
    WHEN TOO_MANY_ROWS THEN
    StoO_rowcnt: = 2;
    WHILE OTHERS THEN
    StoO_rowcnt: = 0;
    StoO_selcnt: = 0;
    StoO_error: = SQLCODE;
    StoO_errmsg: = SQLERRM;
    IF StoO_error! = 0 THEN
    BEGIN
    P_RETURN: = 1;
    RETURN;
    END;
    END IF;
    END;
    /

    CREATE OR REPLACE PROCEDURE SP_GETCITIES)
    STATE_KEY IN VARCHAR,
    RC1 IN OUT globalPkg.RCT1)
    AS
    StoO_error INTEGER;
    StoO_selcnt INTEGER;
    StoO_rowcnt INTEGER;
    StoO_errmsg VARCHAR2 (255);
    BEGIN
    StoO_rowcnt: = 0;
    StoO_error: = 0;
    StoO_selcnt: = 0;
    OPEN FOR RC1
    SELECT STATE_CODE, CITY_CODE, FRANCISCO
    CITIES
    WHERE STATE_CODE = STATE_KEY
    ORDER BY CITY_CODE;
    StoO_rowcnt: = number of LINES SQL %;
    EXCEPTION
    WHILE OTHERS THEN
    StoO_rowcnt: = 0;
    StoO_error: = SQLCODE;
    StoO_errmsg: = SQLERRM;
    END;
    /

    Hi Antonio,.

    I see this:

    c_buf=(ub1 **)calloc(sizeof(ub1 *),3);
    
    ...
    
    rc=OCIDefineByPos(pOciStatCursor,&pdef,(OCIError *)pOciError,pos,c_buf[pos-1],size+1,(ub2)type,(dvoid *)c_indp[pos-1],(ub2 *)0,(ub2 *)0,OCI_DEFAULT);
    

    That I don't understand. You allocate space for 3 pointers ub1 but I don't see where these pointers are then initialized to point to where the data is to be stored.

    I do not read correctly?

    Sorry for posting code long, but here is an example of code that I have. It is much more 'code' for your code, but maybe that will be enough...

    NOTE: This is just the code example and not rigorous. For example, I don't check the memory, allocations etc in this code!

    Kind regards

    Mark

    #ifdef WIN32
    #define _CRT_SECURE_NO_DEPRECATE 1
    #endif
    
    #include 
    #include 
    #include 
    #include 
    
    void checkerr(sword status, OCIError *errhp);
    
    int main(int argc, char *argv[]) {
      OCIEnv      *envhp = NULL;  /* OCI Environment handle     */
      OCIError    *errhp = NULL;  /* OCI Error handle           */
      OCISvcCtx   *svchp = NULL;  /* OCI Service Context handle */
      OCIServer   *srvhp = NULL;  /* OCI Server handle          */
      OCISession  *usrhp = NULL;  /* OCI User Session handle    */
    
      OCIStmt     *stmtp = NULL;  /* OCI Statement handle       */
      OCIStmt     *cursr = NULL;  /* OCI Statement handle       */
    
      OCIParam    *prmp1 = NULL;  /* OCI Parameter handle       */
      OCIParam    *prmp2 = NULL;  /* OCI Parameter handle       */
      OCIParam    *prmp3 = NULL;  /* OCI Parameter handle       */
    
      OCIDefine   *defp1 = NULL;  /* OCI Define handle          */
      OCIDefine   *defp2 = NULL;  /* OCI Define handle          */
      OCIDefine   *defp3 = NULL;  /* OCI Define handle          */
    
      OCIBind     *bndp1 = NULL;  /* OCI Bind handle            */
      OCIBind     *bndp2 = NULL;  /* OCI Bind handle            */
      OCIBind     *bndp3 = NULL;  /* OCI Bind handle            */
    
      /* used to hold column width */
      ub2 col_width;
    
      /* used to set the prefetch count */
      ub4 prefetch_count = 32;
    
      /* will hold output from database */
      oratext *pEmpId = NULL;
      oratext *pFirstName = NULL;
      oratext *pLastName = NULL;
    
      /* the anonymous block to execute */
      /* this opens a ref cursor        */
      oratext *sqlstmt = "begin " \
                         "  open :1 for " \
                         "  select   to_char(employee_id), " \
                         "           first_name, " \
                         "           last_name " \
                         "  from     hr.employees " \
                         "  order by last_name, " \
                         "           first_name; " \
                         "end;";
    
      /* used to hold the results of each OCI call */
      sword result = 0;
    
      /* Initialize and create a default environment  */
      result = OCIEnvCreate(&envhp,
                            OCI_DEFAULT,
                            (dvoid *) 0,
                            0,
                            0,
                            0,
                            (size_t) 0,
                            (dvoid **) 0);
    
      /* allocate an error handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &errhp,
                              OCI_HTYPE_ERROR,
                              0,
                              (dvoid **) 0);
    
      /* allocate a service context handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &svchp,
                              OCI_HTYPE_SVCCTX,
                              0,
                              (dvoid **) 0);
    
      /* allocate a server handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &srvhp,
                              OCI_HTYPE_SERVER,
                              0,
                              (dvoid **) 0);
    
      /* allocate a user session handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &usrhp,
                              OCI_HTYPE_SESSION,
                              0,
                              (dvoid **) 0);
    
      /* create a server context using the "ORADEMO" database */
      result = OCIServerAttach(srvhp,
                               errhp,
                               "ORADEMO",
                               (ub4) strlen("ORADEMO"),
                               OCI_DEFAULT);
    
      /* set the server attribute in the service context handle */
      result = OCIAttrSet((dvoid *) svchp,
                          OCI_HTYPE_SVCCTX,
                          (dvoid *) srvhp,
                          (ub4) 0,
                          OCI_ATTR_SERVER,
                          errhp);
    
      /* open the session with the database */
      /* using external authentication      */
      result = OCISessionBegin(svchp,
                               errhp,
                               usrhp,
                               OCI_CRED_EXT,
                               OCI_DEFAULT);
    
      /* set the user session attribute in the service context handle */
      result = OCIAttrSet((dvoid *) svchp,
                          OCI_HTYPE_SVCCTX,
                          (dvoid *) usrhp,
                          (ub4) 0,
                          OCI_ATTR_SESSION,
                          errhp);
    
      /* allocate the statement handle */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (dvoid **) &stmtp,
                              OCI_HTYPE_STMT,
                              0,
                              (dvoid **) 0);
    
      /* prepare the statement for execution */
      result = OCIStmtPrepare(stmtp,
                              errhp,
                              sqlstmt,
                              (ub4) strlen((char *) sqlstmt),
                              OCI_NTV_SYNTAX,
                              OCI_DEFAULT);
    
      /* allocate the handle for the ref cursor */
      result = OCIHandleAlloc((dvoid *) envhp,
                              (void **) &cursr,
                              OCI_HTYPE_STMT,
                              0,
                              NULL);
    
      /* bind the ref cursor parameter */
      result = OCIBindByPos(stmtp,
                            &bndp1,
                            errhp,
                            1,
                            &cursr,
                            0,
                            SQLT_RSET,
                            NULL,
                            0,
                            NULL,
                            0,
                            0,
                            OCI_DEFAULT);
    
      /* execute the statement */
      result = OCIStmtExecute(svchp,
                              stmtp,
                              errhp,
                              1,
                              0,
                              NULL,
                              NULL,
                              OCI_DEFAULT);  
    
      /* get parameter descriptor for first column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp1,
                           (ub4) 1);
    
      /* get parameter descriptor for second column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp2,
                           (ub4) 2);
    
      /* get parameter descriptor for third column */
      result = OCIParamGet((dvoid *) cursr,
                           OCI_HTYPE_STMT,
                           errhp,
                           (dvoid **) &prmp3,
                           (ub4) 3);
    
      /* get the first column width in characters */
      result = OCIAttrGet((dvoid*) prmp1,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pEmpId = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the first column in the results */
      result = OCIDefineByPos(cursr,
                              &defp1,
                              errhp,
                              1,
                              (dvoid *) pEmpId,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* get the second column width in characters */
      result = OCIAttrGet((dvoid*) prmp2,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pFirstName = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the second column in the results */
      result = OCIDefineByPos(cursr,
                              &defp2,
                              errhp,
                              2,
                              (dvoid *) pFirstName,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* get the third column width in characters */
      result = OCIAttrGet((dvoid*) prmp3,
                          (ub4) OCI_DTYPE_PARAM,
                          (dvoid*) &col_width,
                          (ub4 *) 0,
                          (ub4) OCI_ATTR_DATA_SIZE,
                          errhp);
    
      /* allocate memory to hold the result */
      pLastName = (oratext *) malloc(sizeof(oratext) * (col_width + 1));
    
      /* define the third column in the results */
      result = OCIDefineByPos(cursr,
                              &defp3,
                              errhp,
                              3,
                              (dvoid *) pLastName,
                              (sword) col_width + 1,
                              SQLT_STR,
                              (dvoid *) NULL,
                              (ub2 *) 0,
                              (ub2 *) 0,
                              OCI_DEFAULT);
    
      /* loop through and print the results */
      while ((result = OCIStmtFetch(cursr,
                                    errhp,
                                    (ub4) 1,
                                    (ub2) OCI_FETCH_NEXT,
                                    (ub4) OCI_DEFAULT)) == OCI_SUCCESS)
      {
        printf("Employee ID: %s\n", pEmpId);
        printf(" First Name: %s\n", pFirstName);
        printf("  Last Name: %s\n\n", pLastName);
      }
    
      /* free allocated memory */
      free(pEmpId);
      free(pFirstName);
      free(pLastName);
    
      pEmpId = NULL;
      pFirstName = NULL;
      pLastName = NULL;
    
      /* terminate the session with the database */
      result = OCISessionEnd(svchp, errhp, usrhp, OCI_DEFAULT);
    
      /* detach from the server */
      result = OCIServerDetach(srvhp, errhp, OCI_DEFAULT);
    
      /* deallocate the environment handle     */
      /* OCI will deallocate the child handles */
      result = OCIHandleFree((dvoid *) envhp, OCI_HTYPE_ENV);
    
      return OCI_SUCCESS;
    }
    
    void checkerr(sword status, OCIError *errhp)
    {
      oratext errbuf[512];
      sb4 errcode = 0;
    
      switch (status) {
        case OCI_SUCCESS:
          break;
    
        case OCI_ERROR:
        case OCI_SUCCESS_WITH_INFO:
          (void) OCIErrorGet((dvoid *) errhp, (ub4) 1, (oratext *) NULL, &errcode, errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);
          (void) printf("Error: %.*s\n", sizeof(errbuf), errbuf);
          break;
    
        case OCI_NEED_DATA:
          (void) printf("Error - OCI_NEED_DATA\n");
          break;
    
        case OCI_NO_DATA:
          (void) printf("Error - OCI_NO_DATA\n");
          break;
    
        case OCI_INVALID_HANDLE:
          (void) printf("Error - OCI_INVALID_HANDLE\n");
          break;
    
        case OCI_STILL_EXECUTING:
          (void) printf("Error - OCI_STILL_EXECUTING\n");
          break;
    
        case OCI_CONTINUE:
          (void) printf("Error - OCI_CONTINUE\n");
          break;
    
        default:
          break;
      }
    }
    
  • Entity Framework stored procedure Mapping - OUT unrecognized parameter

    I use the following software:

    • ODP.NET 12 c Release 3
    • Entity Framework 6
    • Visual Studio 2013, SP3
    • Oracle 11g Server

      I created a package containing a stored procedure to update a row in a table.  The procedure is an OUT parameter (named ROWS_AFFECTED) which returns the number of rows affected.

      CREATE OR REPLACE PACKAGE BODY TST. Customer_Procs
      AS
      PROCEDURE Update_Customer
      (
      CUST_ID IN NUMBER,
      WHAT IN VARCHAR2,
      L_NAME IN VARCHAR2,
      EMAIL IN VARCHAR2,
      LAST_UPDATE TIMESTAMP IN
      ROWS_AFFECTED NUMBER
      )
      AS
      BEGIN
      UPDATE
      TST. CUSTOMER
      SET
      NAME = WHAT,.
      LAST_NAME = L_NAME,
      EMAIL_ADDR = EMAIL,
      LAST_UPDT_TIME = CURRENT_TIMESTAMP
      WHERE
      CUSTOMER_ID = CUST_ID
      AND LAST_UPDT_TIME = LAST_UPDATE;

      ROWS_AFFECTED: = NUMBER OF ROWS SQL %;

      END Update_Customer;


      I executed successfully the stored procedure in SQL * more.  The ROWS_AFFECTED OUT parameter is filled with the good

      value.

      I imported the stored procedure in my Entity Framework model using the function successfully import.

      I then traced the parameters of the stored procedure to my entity properties. The ROWS_AFFECTED parameter is shown in the stored procedure mappings, but the "rows affected parameter" check box is cleared.

      Attempt to run my results in the following exception being throw:
      "CustomerModel.msl (22,12): error 2047: a mapping liaison function specifies a function.

      CustomerModel.Store.CUSTOMER_PROCS_UPDATE_CUSTOMER with a parameter not supported: ROWS_AFFECTED. Output parameters cannot

      be mapped through the RowsAffectedParameter property. Use the result links to return values from a function call.

      I am trying to determine what I need to do in order to have the Entity Framework to recognize the ROWS_AFFECTED OUT parameter in the

      stored procedure chart for concurrency control.

      I found a solution: try to declare ROWS_AFFECTED such as 'PLS_INTEGER' instead of 'NUMBER '.  This solved it for me.

    • A stored procedure with input &amp; output parameter as XML

      Hello

      I have a requirement in which I need to have a stored procedure accepts with huge XML from Java and MS a process all the records in the XML file and return the output with a few messages inside XML.

      CurrentY, I have a stored procedure to process the xml code stored in the Oracle database.

      I am using the following SQL statement to read data from the XML column.
      select xmltest1.id,xmltest1.name 
        from xmltest,
             XMLTABLE(
                XMLNamespaces(default 'syncpsna/schemas'),
                '/XMLTestRequest/insert/row'
                      PASSING xmltest.data_xml
                      COLUMNS
                      "ID" number(10) PATH 'id',
                      "NAME" varchar2(50) PATH 'name') xmltest1
      where xmltest.id = 2;
      I want to run similar queries to retrieve data from the XML passed as parameter of entry of JAVA.

      If I could get some examples to read the XML and return the xml to the calling program.

      Concerning

      I can run the query to extract the different sections in the xml file when the XML is stored in a table column. How can do the same thing on XML passed as an input parameter.

      Pretty much the same path, using the clause of PASSAGE.
      Assuming that the input XML is passed as parameter 'p_inputXML', you can do:

      SELECT x.id
           , x.name
      FROM XMLTable(
             XMLNamespaces(default 'syncpsna/schemas'),
             '/XMLTestRequest/insert/row'
             PASSING p_inputXML
             COLUMNS
               "ID"   number(10)   PATH 'id',
               "NAME" varchar2(50) PATH 'name'
           ) x
      ;
      
    • Run the statement in a stored procedure with Out parameters and

      Hi all

      I have a stored procedure that calls a select statement. Here it is...

      CREATE OR REPLACE PROCEDURE BLABLA_VIEW_PROCEDURE

      * (BLABLA_KEY IN NUMBER, *)
      XML_OUTPUT ON VARCHAR)
      AS
      BEGIN
      SELECT SYS. XMLTYPE.getStringVal (OBJECT_VALUE) in XML_OUTPUT FROM BLABLA_VIEW WHERE extractValue (OBJECT_VALUE, ' / BLABLA_TYPE/BLABLA_KEY ') = 2876;
      END;

      Is to have both IN and OUT parameters as described above. I am able to compile and run the procedure.

      The problem I want to share with everyone is...
      I want to run the stored procedure together with a single EXEC command.

      I tried different ways using the EXEC command but of no use.

      Could someone help me?
      Thanks in advance.

      Published by: user10763276 on June 3, 2010 15:47

      Please visit the following...

      sudhakar@ORCL>CREATE OR REPLACE PROCEDURE BLABLA_VIEW_PROCEDURE
        2  (BLABLA_KEY IN NUMBER,
        3  XML_OUTPUT OUT VARCHAR)
        4  AS
        5  BEGIN
        6  XML_OUTPUT := BLABLA_KEY || ' and whatever else...';
        7  END;
        8  /
      
      Procedure created.
      
      sudhakar@ORCL>
      sudhakar@ORCL>var XML_OUTPPUT varchar2(100);
      sudhakar@ORCL>exec BLABLA_VIEW_PROCEDURE (9151, :XML_OUTPPUT);
      
      PL/SQL procedure successfully completed.
      
      sudhakar@ORCL>print XML_OUTPPUT;
      
      XML_OUTPPUT
      --------------------------------------------------------------------------------
      9151 and whatever else...
      
      sudhakar@ORCL>
      

      Post tells you...

      var OUTPUT VARCHAR
      exec BLABLA_VIEW_PROCEDURE (9151, :OUTPUT);
      print OUTPUT
      

      VARCHAR is not a valid TYPe to declare. Use VARCHAR2 (nnn) where nnn is a number.
      VR,
      Sudhakar B.

    • How to call oracle stored procedure with hibernate

      Hi all
      I wrote the following stored procedure:

      create or replace
      PROCEDURE SP_GET_NUMBER (p_cursor sys_refcursor, departmentId in number, userId in number, documentTypeId number)
      as
      Enter the integer;
      sqlScript varchar2 (60);
      Start
      sqlScript: = "select registrationnumber_seq.nextval from dual;
      immediately run sqlScript in register;
      dbms_output.put_line ('Nextval is: ' |) To_char (Regid));
      insert into roketsanuser.registrationnumbers
      (id, departmentid, documenttypeid, number, registrationstatus, status, updatedate, updateuserid, version)
      values
      (enter it, null, null, enter it, 0, 0, sysdate, 0, 0);
      commit;
      Open the p_cursor for
      Select id
      roketsanuser.registrationnumbers® systems
      where reg.id = regid;
      end;

      And I define in the annotations in my entity class:

      @Entity (name = "Number")
      @Table (name = "REGISTRATIONNUMBERS")
      @SequenceGenerator (name = "REGISTRATIONNUMBER_SEQ", sequenceName = "REGISTRATIONNUMBER_SEQ")
      @org.hibernate.annotations.NamedNativeQuery (name = "SP_GET_NUMBER", query = "{call? "{= SP_GET_NUMBER (: departmentId,: userId,: documentTypeId)}"
      Callable = true, readOnly = true, resultClass = RegistrationNumber.class)
      @EntityListeners ({BaseEntityListener.class})
      Number/public class extends BaseEntity

      I call the query in my Dao class:

      public number getNumberForIncomingPaperworkByStoredProcedure (EntityManager Manager, number number)
      {
      A session = (Session) manager.getDelegate ();
      query org.hibernate.impl.SQLQueryImpl = (SQLQueryImpl) session.getNamedQuery ("SP_GET_NUMBER");

      query.setParameter ("departmentId", ObjectUtil.isNotNull (registrationNumber.getDepartment ())? registrationNumber.getDepartment () .getId (): "");
      query.setParameter ("userId", ObjectUtil.isNotNull (registrationNumber.getUser ())? registrationNumber.getUser () .getId (): "");
      query.setParameter ("documentTypeId", ObjectUtil.isNotNull (registrationNumber.getDocumentType ())? registrationNumber.getDocumentType () .getId (): "");
      Collection list = query.list ();
      return new RegistrationNumber();
      }

      But when I run the application exception occurred:
      < 01/02/2013 10:04:24 EET > < opinion > < Stdout > < BEA-000000 > < hibernation:
      / * name of SP_GET_NUMBER native SQL query * / {call? = SP_GET_NUMBER (?,?,?)} >
      < 01/02/2013 10:04:27 EET > < opinion > < Stdout > < BEA-000000 > < 10:04:27, 811 ERROR [IncomingPaperworkMBean] EJB Exception:; nested exception is:
      org.hibernate.exception.SQLGrammarException: could not execute the query. nested exception is: org.hibernate.exception.SQLGrammarException: could not execute the query >

      This is perhaps the reason why, please help me?

      Thanks in advance

      Message to research in syntax of:

      @org.hibernate.annotations.NamedNativeQuery

      It seems that following is a possible cause (but I'm not sure about this one):

      Query = "{call?" "{= SP_GET_NUMBER (: departmentId,: userId,: documentTypeId)} '.

      You can change this:

      Query = "(?)". (= appeler SP_GET_NUMBER (: departmentId,: userId,: documentTypeId)) "...

      or

      Query = "(call SP_GET_NUMBER (: departmentId,: userId,: documentTypeId)).

      and check if that helps...

      You can take a look at:

      https://Forum.Hibernate.org/viewtopic.php?p=2401604

      HTH,

      Bravo!
      AJ

    • Problems calling a stored procedure with DG4IFMX

      Hi guys,.

      I try to call stored procedures of database Informix, which is connected by an Oracle for Informix database gateway.

      I ran select, update, delete correctly but when I try to execute a stored procedure, that nothing is happening.

      for example:
      When I run
      call branko"@link_informix (1) «»

      It returns that it is performed successfully, without error, but as you can see below no entry is entered in the branko_test table

      to informix:

      drop the branko procedure;
      Create procedure "informix".branko (integer _vlez)
      returning a Boolean;
      If _vlez = 1 then
      insert into branko_test values ('uspesen test', '1');
      on the other
      insert into branko_test values ('test 2 ', 2' uspesen);

      end if;
      end of procedure;

      the procedure runs ok when called to informix.

      Thanks for any help

      P.S I even tried running:

      declare
      Whole RET;
      Start
      RET: = DBMS_HS_PASSTHROUGH. EXECUTE_IMMEDIATE@link_informix (' branko procedure (2)');
      end;

      but the same thing happens, no entry in the branko_test table.

      Find the root cause:
      When you are using dbaccess to call the original procedure it displays on the screen (expression)
      => remove the return value as it is not managed

      -> looks like not supported return Boolean value. Changes to the procedure of

      drop the branko procedure;
      Create procedure "informix".branko (integer _vlez)

      If _vlez = 1 then
      insert into branko_test values ('uspesen test', '1');
      on the other
      insert into branko_test values ('test 2 ', 2' uspesen);

      end if;
      end of procedure;

      allows me to execute the procedure using passthrough
      DECLARE
      result VARCHAR2 (50);
      BEGIN
      result: = DBMS_HS_PASSTHROUGH. EXECUTE_IMMEDIATE@dg4ifmx (' run the informix.branko procedure (1)');
      END;
      /

      Edited by: kgronau may 6, 2011 07:31

    • Calling stored procedure with an input of DATE parameter

      Hello. A question about the Date input parameters when you call a stored procedure.

      I have a procedure that takes a DATE as input parameter. I would DATE this value to include a time element.

      My Application Module method takes an input as a java.util.Date (myParamDate) parameter - that will preserve a time element (?).

      However when I create the CallableStatement, I am trying to set the parameter using setDate like this (for the param 5):
                  st = getDBTransaction().createCallableStatement("begin cs_my_pck.request_values(?,?,?,?,?,?,?,?); end;", 0);            
                  Connection myConn = st.getConnection();
                  ArrayDescriptor myArrDesc  =  ArrayDescriptor.createDescriptor("CS_FIELD_TABT", myConn);
                  Array sqlParamNameArray = new oracle.sql.ARRAY(myArrDesc, myConn, paramNames.toArray());
                  Array sqlParamValueArray = new oracle.sql.ARRAY(myArrDesc, myConn, paramValues.toArray());
                  Array sqlFilterNameArray = new oracle.sql.ARRAY(myArrDesc,myConn,filterNames.toArray());
                      
                  st.setString(1, repType);
                  st.setObject(2, sqlParamNameArray);
                  st.setObject(3,sqlParamValueArray);
                  st.setObject(4,sqlFilterNameArray);
      
                  java.sql.Date myRepDate = new java.sql.Date(myParamDate.getTime());
      
                  st.setDate(5,myRepDate);
                  
                  System.out.println("Report Date = " + myRepDate.toString());
                  st.setString(6,repUser);
                  st.setString(7,repAttach);
                  // set out param
                  st.registerOutParameter(8, Types.NUMERIC);
                  st.execute();
      I understand java.sql.Date does NOT include a time element. But setDate() only accepts a java.sql.Date so my parameter of the procedure ends with a zero time element.

      How to call this procedure keeping the time element?

      Thank you.

      It includes the time element, if you want more precision with time stamp.

      http://docs.Oracle.com/javase/6/docs/API/Java/SQL/date.html

    • Java - a stored procedure with call by result

      Hi the Oracle community,

      I'm looking for some example Code how to use a Java-Stored procedure with output parameters. Don't get me wrong. I don't want to call a procedure with the parameters Out of Java (there are many examples in this respect over there). I want to just implement the appeal of the concept of results in a Java-Stored procedure. A customer calls this procedure with certain parameters and the Java procedure will fill the. So my first question: is it possible? And my second Question: how to implement it?

      Greetings.

      I found a solution. It's very simple.

      Just setting the parameters as java array (e.g., String() P1). The first value (P1 [0]) is the returned value.

      Finally just contained JDeveloper in dialog box "Edit method Signature" the parametermode OUT.

      The dialog box are entitled on the stored procedure in the dbexport file. You can read this

      in Section 6, publishing Java Classes with call specifications-> defining the Modes parameter in

      The Oracle database Java Developer's Guide.

    • Calling stored procedures with parameters with the database connectivity Toolkit

      Hi all

      I'm new to the forum and struggling to find a solution to a particular problem I have in this respect, using the LabVIEW Database Connectivity Toolkit on a project, I am currently working on my work.  I have a database in which I tables and stored procedures with parameters.  Some of these stored procedures have input, output and return parameters.

      I tried to follow this example, but to no avail: http://digital.ni.com/public.nsf/allkb/07FD130746083E0686257300006326C4?OpenDocument

      Such a stored procedure I am working on the implementation is named "dbo.getAllowablePNs", running "SELECT * from DeviceType" (DeviceType is the table).  In this case, it requires no input parameter, it has an output parameter that generates the table [cluster] and has a return parameter that returns an integer value (status code for execution) to show if an error occurred.  The DeviceType table has 3 columns; ID (PK, int not null), PN (nvarchar ((15), null) and NumMACAddresses (int, null).)  I have surpassed many examples and I talk to the support OR try to implement this and similar procedures stored in LabVIEW but have not been successful.  I am able to connect to the database with the VI of open connection without error, but spin in some confusion as a result of this step.  I then try to use the VI of parameter query create to call the stored procedure and set the parameters.  I guess I would then use the Set parameter value for each parameter that is connected to the entry of parameters on the previous query with parameters VI VI?  I am also having some confusion during and after these steps as well.  I would greatly appreciate advice or suggestions that anyone could have in this situation because I am not a SQL expert.  Also, I would be happy to provide more information that might be useful.

      Kind regards

      Jon

      Here's what I use to do this.  I think I had to change him create parameterized query VI for him to work.  There is a post on the forum about this somewhere.

    • [BC] Call a stored procedure taking parameters of table

      Hello!

      I currently have a request of the OIC that makes thousands of calls per second stored procedure. The stored procedure runs a business logic that I want my client application to stay informed.  I want to reduce the cat of the database and instead to call the stored procedure from thousands of times per second, call the procedure (for example) once per second, but with values of one mile.

      I used OCIBindArrayOfStruct successfully to perform inserts bulk, where my OCI application executes a () INSERT INTO using the function "iters" and it might be possible to do something similar with the stored procedure, but I want to do something slightly different, because the procedure stored something like this:

      * If a specific condition is set, call a secondary stored procedure

      * If another special condition is set, insert a row into a table of some

      I so wanted to do was to pass a table (or a series of tables) in the stored procedure, then the stored procedure to use optimal methods that are available, such as FORALL, to perform each of the tasks, the more effectively.

      So I thought to create a type, such as a TABLE OF VARCHAR2, or a VARRAY and possessing of the parameters for the stored procedure based on this type, something like:

      create or replace TYPE 'NTT_VARCHAR2' AS TABLE OF VARCHAR2 (32700);

      create or replace FUNCTION bulk_process_values)

      p_error_message OUT NOCOPY VARCHAR2,

      p_module_context_name OUT NOCOPY VARCHAR2,

      p_sql_error OUT NOCOPY VARCHAR2,

      p_count in NUMBERS

      p_non_array_var_1 IN VARCHAR2,

      p_non_array_var_2 IN VARCHAR2,

      p_array_var_1 IN NTT_VARCHAR2,

      p_array_var_2 IN NTT_VARCHAR2,

      p_array_var_3 IN NTT_VARCHAR2

      < etc. for all the variables in table >)

      RETURN NUMBER

      .. .but I am struggling to find an example of how call the procedure "bulk_process_values" stored, and even if I use a TABLE OF VARCHAR2 or a VARRAY as a parameter type.

      I searched the Internet and found this: OIC - how to bind an array to a stored procedure? - and binding table of the structs (OCIBindArrayOfStruct) sample code

      - but they take different approaches and a bit confused (the second example spoke of OTT).

      I think that the first approach is more likely to be the solution I need - but I can't help thinking - it is a bunch of stuff to move if it does not end up significantly improve performance!

      My questions are:

      * Moves to a call-SP-thousands-of-times-per-second to call-SP-fewer-times-but-with-array-parameters sensitive?

      * Should the table or VARRAY, TABLE OF VARCHAR2 parameters or something else?

      * Should I use for my case OTT?

      Samples I found are both very old - and the second example indicators that the optimal approach evolves with the OCI versions - I'm on 11.2, what is the optimal approach these days?

      * < added later > why is there no official useful example?

      Thank you very much

      Much appreciated. https://community.oracle.com/message/4528528#4528528 has actually worked, with VARRAY, with a proof of concept. Now I just need to shake a little and then get my PL/SQL for optimal PC experts. I think I was really discouraged by the lack of official documents, with the Community (Paradise) is the only way to get real results.

      Thank you JJ.

      I intend me to use the binding enforcement of the table and the table and avoid N back and forth, but I do not then get the opportunity to do something clever in the PL/SQL.

      In the PL/SQL, there is no logic occurring - I don't call the same SP tons of times, but then I want to be able to use PL/SQL optimizations such as FORALL, BULK COLLECT, reduce the number of validations and others.  There is a commit after each SP run, because otherwise the nature of demand means that the application hangs occur; However, there is a way (I think) be smart on the part that is likely to deadlock (making a shape on the Bay First, then applying the updates in the order sorted and then failed to get a blocking theoretically), and then FORALL insert for the second part of the stored procedure.

      I guess I may apply the single return, passing a table (to a commit in the SP)-which will reduce back and forth, so gain in performance, but it will not reduce the number of validations that I do - and Oracle said that commits too frequent is not good for performance. I already have code in my framework that does - by making a simple INSERT INTO.

      Good to hear that OTT is not explicitly required - and VARRAY resembles the approach to try first.

    • How to call a stored procedure in ADF

      How to call a stored procedure in the ADF (Jdev 11.1.1.6)?

      Code sample stored procedure:

      CREATE or REPLACE PROCEDURE SP_HELLOWORLD

      (

      NAME IN VARCHAR2

      OUT VARCHAR2 DESIRES

      ) AS

      BEGIN

      WISHES: = 'Hello'. name | ', Welcome to MS.';

      END SP_HELLOWORLD;

      Your Code of ADF is:

      try {}

      System.out.println ("* beginning of the code *");

      String sql = "start SP_HELLOWORLD(:NAME,:WISHES); end; ";

      CallableStatement st = getDBTransaction () .createCallableStatement (sql, getDBTransaction(). DEFAULT VALUE);

      st.setObject ("NAME", "ABC"); Replace with required param

      st.registerOutParameter ("WISHES", Types.VARCHAR); import java.sql.Types;

      St.Execute ();

      System.out.println ("the output of the function DB is:" + st.getObject ("WISHES"));

      System.out.println ("* end of code *");

      } catch (Exception e) {e.printStackTrace () ;}

    • A wrong number or types of arguments in the call to stored procedure

      Hi all...
      I'm missing something simple here, but I don't see what it is.
      I have looked around and cannot know what the problem is.
      Calling a stored procedure in Oracle 11g of Java 6.

      Here is my code:
         CallableStatement proc = null;                
         proc = conn.prepareCall("{ call storedProc(?, ?, ?, ?, ?) }");
         proc.setString("p_header", "8YR6TG");
         proc.setString("p_optype", "A");
         proc.registerOutParameter("p_headerCursor", OracleTypes.CURSOR);
         proc.registerOutParameter("p_detailCursor", OracleTypes.CURSOR);
         proc.registerOutParameter("p_status", OracleTypes.VARCHAR);
         proc.execute();
      Here are my stored procedure:
      PROCEDURE storedProc (
      p_header IN VARCHAR2,
      p_optype IN VARCHAR2,
      p_headerCursor OUT R_CURSOR,
      p_detailCursor OUT R_CURSOR,
      p_status OUT VARCHAR)
      Here's the exception I get:
      java.sql.SQLException: ORA-06550: line 1, column 7:
      PLS-00306: wrong number or types of arguments in call to 'storedProc'
      ORA-06550: line 1, column 7:
      PL/SQL: Statement ignored
           at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
           at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
           at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
           at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:181)
           at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:870)
           at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1081)
           at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
           at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2996)
           at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4120)
      Can you see what I'm doing wrong here?
      Thanks in advance for your comments!

      Published by: Brady on February 16, 2012 13:02

      try to use digital indexes instead of parameter names.

    • How to call the stored procedure from javascript? (Google suggest, AJAX)

      Hi I want to set up a text field so that it behaves like [Google Suggest | http://www.google.com/webhp?complete=1 & hl = en].

      I read this post .

      Now, I installed everything according to this document. But it simply doesn't. And I don't know why.

      I think that problems can fall into the following three categories:
      1. the text field and the page invoking the appropriate javascript?
      2 - is the JavaScript call the stored procedure?
      3. the stored procedure correctly returns the result formatted?

      I'm assertive for 1 and 3, but I'm not sure 2. Because I don't know how if a stored procedure has been called? Is there a PL/SQL statement that I can query in SQL * more?

      Also, I would like to know how to debug AJAX in the APEX. It involves a lot of things.

      Finally, I used APEX 3.2 and Oracle XE. I can't find file dads.conf or marvel.conf. Is ' / apex / "the virtual directory for APEX?

      Thank you very much!

      Buffalo,

      I managed to make it work on XE with APEX 3.2!
      It took more time than expected because my XE installation was still on an earlier version of the Apex and I had put it first...

      But that's what I did:
      -in the ac.js file, I changed the path ' / apex / "and I added the ac.js file to my candidacy as a static file. So as you did.
      -J' copied my request to the XE and copied my procedure on the schema that is related to my request
      -J' gave to run anonymous rights my procedure

      Now at first, it did not work...
      Then I suddenly remembered something: If you want to run a procedure through the pl/sql gateway in the XE, XE please how it is.
      Do you this by changing the APEX_030200.wwv_flow_epg_include_mod_local function!

      This is the code for the function changed for my example:

      CREATE OR REPLACE function APEX_030200.wwv_flow_epg_include_mod_local(
          procedure_name in varchar2)
      return boolean
      is
      begin
          --return false; -- remove this statement when you modify this function
          --
          -- Administrator note: the procedure_name input parameter may be in the format:
          --
          --    procedure
          --    schema.procedure
          --    package.procedure
          --    schema.package.procedure
          --
          -- If the expected input parameter is a procedure name only, the IN list code shown below
          -- can be modified to itemize the expected procedure names. Otherwise you must parse the
          -- procedure_name parameter and replace the simple code below with code that will evaluate
          -- all of the cases listed above.
          --
          if upper(procedure_name) in (
                'MATTHIASH.INCSEARCH') then
              return TRUE;
          else
              return FALSE;
          end if;
      end wwv_flow_epg_include_mod_local;
      /
      

      After that, the AJAX function worked as expected...

      HTH
      Matthias Hoys

      Published by: mhoys on August 13, 2009 15:24

    Maybe you are looking for