Sample to create a pro*c file and link with Oracle Library to form a executable
Step1
Create a pro*c file, similar to the sample file, rename the text file to .pc (addtwo.txt)

Content of addtwo.txt
/* Proc for adding two numbers */
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include "usrxit.h>

#define VARLEN 15

EXEC SQL INCLUDE SQLCA.H
EXEC SQL INCLUDE ORACA.H

EXEC SQL BEGIN DECLARE SECTION;
                 varchar a1[VARLEN]
                 varchar b1[VARLEN]
                 varchar c1[VARLEN]
EXEC SQL END DECLARE SECTION;

int addtwo()
{
              EXEC IAF GET userexblk.a, userexblk.b into :a1, :b1;
              a1.len = strlen((char *) a1.arr);
              b1.len = strlen((char *) b1.arr);
              a1.arr[a1.len] = '\0';
              b1.arr[b1.len] = '\0';
              strcat(c1, a1);
              strcat(c1, b1);
              c1.len = strlen((char *) c1.arr);
              c1.arr[c1.len] = '\0';
              EXEC IAF PUT userexblk.c values (:c1);
              return (0);
}
Step 2

Create header files ue.h, ue_samp.h, usrxit.h

Content of ue.h

#ifndef UE
#define UE

#define MAX_ERRBUF_SIZE 256

extern char SRWERB[ ];

struct exitr
{
    char *addtwo;   --------->
your proc file
     int (*exfp)     (/* _char* _*/);
     int extyp;
#define XITCC1 1
#define XITCC   2
#define XITCOB 3
#define XITFOR 4
#define XITPLI   5
#define XITPAS  6
#define XITADA 7
};

#define FATAL_ERR 535
#define FAILURE      1403
#define SUCCESS      0

typedef struct exitr exitr;

extern exitr iapxtb[ ];

#endif

Content of ue_samp.h

int addtwo():
Page 1 2 3
Hosted by www.Geocities.ws

1