linux下编译命令:
将PC编译成C:proc parse=none iname=main.pc
将C编译成可执行文件:gcc -g -o main main.c -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib -lclntsh
将PC编译成C:proc parse=none iname=main.pc
将C编译成可执行文件:gcc -g -o main main.c -I$ORACLE_HOME/precomp/public -L$ORACLE_HOME/lib -lclntsh
#include "sqlca.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sql_error(char *msg)
{
printf("\n%s %s\n", msg,(char *)sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK RELEASE;
exit(0);
}
int main() {
EXEC SQL INCLUDE sqlca;
EXEC Oracle OPTION (RELEASE_CURSOR = YES);
EXEC SQL WHENEVER SQLERROR DO sql_error(" ");
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR oraCN[30];
VARCHAR consName[256];
EXEC SQL END DECLARE SECTION;
strcpy(oraCN.arr,"eic3/eic3@cjdb");
oraCN.len = strlen(oraCN.arr);
oraCN.arr[oraCN.len]='\0';
EXEC SQL CONNECT :oraCN;
printf("[OK Connected!]\n");
EXEC SQL select cons_name into :consName from c_cons where cons_id=10000;
consName.arr[consName.len]=0x00;
printf("%s\n",consName.arr);
EXEC SQL COMMIT WORK RELEASE;
return 0;
}