Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Problem with DBMS_ALERT Packing in version 7.3.2.1 on SCO UNIX

Problem with DBMS_ALERT Packing in version 7.3.2.1 on SCO UNIX

From: Chi-Jiun Su <csu_at_hns.com>
Date: 1997/07/11
Message-ID: <5q5ju6$ssk@hnssysb.hns.com>#1/1

Hi! I have a problem with using DBMS_ALERT Package in version 7.3.2.1 on Sco Unix. My PL/SQL application works on version 7.2.2.3 properly. I rebuild my the binaries of my application on 7.3.2.1. It can still run on 7.2.2.3 but not on 7.3.2.1. I got the following error:

ORA-01008: not all variables bound

I pinpoint the error and it found out to be functon call "DBMS_ALERT.WAITANY" and "DBMS_ALERT.WAITONE". So, I wrote a small proc code just to test this package in version 7.3.2.1 attached in the

following. I built it in version 7.3.2.1.  The binary can run on
version 7.2.2.3 but still not on version 7.3.2.1 and got the the error,
ORA-01008.

I'm still waiting for the solution from Tech support in ORACLE. If anybody has any clue about what is happening and any suggestion, I'll appreciate it very much.

Thanks.
C.J.

Here is the proc code I used for testing.

XXXXXXX BEGINNING of PROC FILE (test.pc )xxxxxxxxxxxxxx

#include <stdio.h>
#include <string.h>

char     username[50] = "sys/manager_at_sid1";
char     connname[20] = "sid1";

#include <sqlca.h>

/* Declare error handling function. */
void sql_error();

main()
{

   int o_status=-2;
   char o_message2[256];
   char o_message[256];
   short message_ind;
   short message2_ind;        

/* Register sql_error() as the error handler. */

    EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");

    EXEC SQL CONNECT :username AT :connname;

    printf("\nConnected to ORACLE as user: %s\n", username);

    printf("\nAbout to do remove \n");

     EXEC SQL AT :connname EXECUTE
     BEGIN
       DBMS_ALERT.REMOVE('acs_email_alert');
     END;
     END-EXEC;
     EXEC SQL AT :connname EXECUTE
     BEGIN
       DBMS_ALERT.REGISTER('acs_email_alert');
     END;
     END-EXEC;

   printf("before waitone\n");
   EXEC SQL AT :connname EXECUTE
   BEGIN
     DBMS_ALERT.WAITANY(:o_message2:message2_ind, :o_message:message_ind,:o_status,5);

   END;
   END-EXEC;
   printf("After waitone\n");

   printf("status=%d\n",o_status);

    exit(0);
}

void
sql_error(msg)
char *msg;
{

    char err_msg[128];
    size_t buf_len, msg_len;

    EXEC SQL WHENEVER SQLERROR CONTINUE;     printf("\n%s\n", msg);
    buf_len = sizeof (err_msg);
    sqlglm(err_msg, &buf_len, &msg_len);     printf("%.*s\n", msg_len, err_msg);

    exit(1);
}

XXXXXXX END of PROC FILE (test.pc )xxxxxxxxxxxxxx Received on Fri Jul 11 1997 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US