Hi,

I am working on a way to use SQLCLI installing dbprocs on an db instance
(v7.5.00.24). If I try to compile the dbproc code via SQLCLI I get
following error while compiling the very same code via SQL Studio works.
Is there some who can give a hint?
Thanks in advance!!

sqlcli -n localhost -d <db_name> -u <schema owner>,<pwd> -m
sqlcli <db_name>=> \i <script path>\test.prc
* -5015: POS(1742) Missing keyword:FROM SQLSTATE: 42000
sqlcli <db_name>=>

The script content is following:
// Creating Procedure 'SNR_PUT_SYSTEM_LOG'
CREATE DBPROC testprc
 (IN  PIN_MSG_NO_IN       INTEGER
 ,IN  PIN_MSG_CLASS       CHAR(3)
 ,IN  PIN_MSG_TEXT        CHAR(80)
 ,IN  PIN_DESCRIPTION     CHAR(300)
 ,IN  PIN_CURRENT_USER    CHAR(50)
 ,OUT POUT_MSG_NO_OUT     INTEGER
 ) AS
VAR
  v_msg_no          INTEGER;
  v_msg_class       CHAR(3);
  v_description     CHAR(300);
  v_current_user    CHAR(50);
  v_db_message_no   INTEGER;
  v_db_message_text CHAR(80);
  v_db_return_code  INTEGER;
  v_db_error_msg    CHAR(80);
  v_ssm_id          INTEGER;
  v_msg_no_out      INTEGER;

TRY

  SET v_msg_no = pin_msg_no_in;
  SET v_msg_class = pin_msg_class;
  SET v_db_message_text = pin_msg_text;
  SET v_description = pin_description;
  SET v_current_user = pin_current_user;
  SET v_db_return_code = 77777777;
  SET v_db_error_msg = '##INIT ##';
  SET v_db_message_no = 77777777;
  SET v_ssm_id = 0;
  SET v_msg_no_out = 77777777;


  IF (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) THEN
    BEGIN /* (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) */
      IF v_msg_class = 'DB' THEN  /* system message from DB server */
        BEGIN /* v_msg_class = 'DB' */
          SET v_db_message_no = pin_msg_no_in;
          SET v_ssm_id = NULL;
          INSERT INTO snr_owner.snr_system_log

(message_class,ssm_id,db_message_no,db_message_text,description)
            VALUES

(:v_msg_class,:v_ssm_id,:v_db_message_no,:v_db_message_text,:v_description);
          SET v_msg_no_out = 101; /* SNR1 confirm: SNR_PUT_SYS_LOG_OK */
        END /* v_msg_class = 'DB' */
      ELSE
        BEGIN /* v_msg_class <> 'DB' */
          SET v_db_message_no = NULL;
          SELECT ssm_id,message_class INTO :v_ssm_id,:v_msg_class FROM
snr_owner.snr_system_messages WHERE message_no = :v_msg_no;
          INSERT INTO snr_owner.snr_system_log

(message_class,ssm_id,db_message_no,db_message_text,description)
            VALUES

(:v_msg_class,:v_ssm_id,:v_db_message_no,:v_db_message_text,:v_description);
          SET v_msg_no_out = 101; /* SNR1 error: SNR_PUT_SYS_LOG_OK */
        END; /* v_msg_class <> 'DB' */
    END;  /* (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) */


CATCH
  BEGIN /* begin CATCH block: other DB errors */
    SET v_db_return_code = $RC;
    IF v_db_return_code <> 0 THEN /* verify if DB errors occured */
      BEGIN /* v_db_return_code <> 0 */
        SET v_msg_no_out = 301; /* SNR1 error: SNR_PUT_SYS_LOG_ERR */
        SET v_db_error_msg = $ERRMSG;
        SET v_description = '## ERROR when INSERT in SNR_SYSTEM_LOG ##';
        INSERT INTO snr_owner.snr_system_log
          (message_class,ssm_id,db_message_no,db_message_text,description)
        VALUES
          ('DB',NULL,:v_db_return_code,:v_db_error_msg,:v_description);
      END;  /* v_db_return_code <> 0 */
  END;  /* end CATCH block: other DB errors */

/* hand over output parameter */
SET pout_msg_no_out = v_msg_no_out;

//


kind regards
Frank


-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to