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 -> Re: 8.0.5 bug pro-c unhandled exception with sqllib80.lib, NT4. HELP!

Re: 8.0.5 bug pro-c unhandled exception with sqllib80.lib, NT4. HELP!

From: R. Baker <baker.richard_at_usa.net>
Date: Tue, 21 Sep 1999 23:08:57 +0100
Message-ID: <7s8s59$gvf$1@winter.news.rcn.net>


Ken,
Here's the code/function in question. Output from Pro-C. Debugging file logging has been added...
It failes near the end at...
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); Thanks,
Rick

FILE *logfile;
file://EXEC SQL INCLUDE sqlproto.h;

int begin_session_c(char* user, char* password, char* db_instance){

/* EXEC SQL BEGIN DECLARE SECTION; */

/* VARCHAR uid[20]; */

struct { unsigned short len; unsigned char arr[20]; } uid;

                       /* username                     */

/* VARCHAR pwd[20]; */

struct { unsigned short len; unsigned char arr[20]; } pwd;
                       /* password                     */

/* VARCHAR db_i[20]; */

struct { unsigned short len; unsigned char arr[20]; } db_i;
                      /* db_instance                  */

/* EXEC SQL END DECLARE SECTION; */
  logfile = fopen("log.txt", "w" );
  fprintf( logfile, "Begin session entered %s %s %s\n", user, password, db_instance );
  fclose(logfile);
//  logfile = fopen("log.txt", "a+" );
//  fprintf( logfile, "After declare section\n" );
//  fclose(logfile);

  strcpy (uid.arr, user);

  uid.len =  strlen(uid.arr);
  strcpy (pwd.arr, password);
  pwd.len =  strlen(pwd.arr);

  strcpy (db_i.arr, db_instance);
  db_i.len = strlen(db_i.arr);
  logfile = fopen("log.txt", "a+" );
  fprintf( logfile, "Before connect\n" );   fclose(logfile);
/* EXEC SQL WHENEVER SQLERROR GOTO errexit; */

/* EXEC SQL CONNECT :uid IDENTIFIED BY :pwd USING :db_i; */

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 10;
  sqlstm.arrsiz = 4;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.iters = (unsigned int  )10;
  sqlstm.offset = (unsigned int  )5;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlstm.sqhstv[0] = (         void  *)&uid;
  sqlstm.sqhstl[0] = (unsigned int  )22;
  sqlstm.sqhsts[0] = (         int  )22;
  sqlstm.sqindv[0] = (         void  *)0;
  sqlstm.sqinds[0] = (         int  )0;
  sqlstm.sqharm[0] = (unsigned int  )0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (         void  *)&pwd;
  sqlstm.sqhstl[1] = (unsigned int  )22;
  sqlstm.sqhsts[1] = (         int  )22;
  sqlstm.sqindv[1] = (         void  *)0;
  sqlstm.sqinds[1] = (         int  )0;
  sqlstm.sqharm[1] = (unsigned int  )0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqhstv[2] = (         void  *)&db_i;
  sqlstm.sqhstl[2] = (unsigned int  )22;
  sqlstm.sqhsts[2] = (         int  )22;
  sqlstm.sqindv[2] = (         void  *)0;
  sqlstm.sqinds[2] = (         int  )0;
  sqlstm.sqharm[2] = (unsigned int  )0;
  sqlstm.sqadto[2] = (unsigned short )0;
  sqlstm.sqtdso[2] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;

  logfile = fopen("log.txt", "a+" );
  fprintf( logfile, "Very near to connect\n" );   fclose(logfile);
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);   if (sqlca.sqlcode < 0) goto errexit;
}

  logfile = fopen("log.txt", "a+" );
  fprintf( logfile, "After connect\n" );   fclose(logfile);
  return sqlca.sqlcode;
errexit:
  logfile = fopen("log.txt", "a+" );
  fprintf( logfile, "After errexit\n" );   fclose(logfile);
  errrpt();
  return sqlca.sqlcode;
} Received on Tue Sep 21 1999 - 17:08:57 CDT

Original text of this message

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