ʲôÊÇPro*C/C++£¬Ç¶ÈëʽSQL£¬µÚÒ»¸öpro*c³ÌÐò£¬pro*c++,Makefile,ProcÔöɾ¸Ä²é(¶þ)

2014-11-24 12:15:19 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 3

dm01_hello:

@echo 'proc dm01_hello begin'

proc dm01_hello.pc

@echo 'gcc dm01_hello begin'

gcc dm01_hello.c -o dm01_hello -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib -lclntsh

dm02_hello:

@echo 'proc dm02_hello begin'

proc iname=./dm02_hello.pc oname=dm02_hello.cc PARSE=NONE CODE=CPP

@echo 'gcc dm02_hello begin'

g++ dm02_hello.cc -o dm02_hello -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib -lclntsh

clean:

@rm dm01_hello

@rm dm02_hello

Ö´ÐÐÃüÁ

make

\

10 Êý¾Ý¿âµÄÔöɾ¸Ä²é£º

±àд¹«¹²µÄMakefile

all: dm01_dbop

dm01_dbop:

@echo 'proc dm01_dbop begin'

proc dm01_dbop.pc

@echo 'gcc dm01_dbop begin'

gcc dm01_dbop.c -o dm01_dbop -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib ¨Clclntsh

clean:

@rm dm01_dbop

²åÈëÊý¾Ý£º

#include

#include

#include

#include "sqlca.h"

//¶¨ÒåËÞÖ÷±äÁ¿ serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

int main()

{

int ret = 0;

printf("hello....\n");

//ÔÚCÖÐÊÇËÞÖ÷±äÁ¿

printf("serverid:%s \n", serverid);

//ǶÈëʽSQLÓïÑÔ±ØÐëÒªÒÔ EXEC SQL¿ªÍ·

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sqlca.sqlcode;

printf("EXEC SQL connect:err, %d\n", ret);

return ret;

}

printf("connect ok\n");

deptno = 50;

strcpy(dname, "50name");

strcpy(loc, "50loc");

//Ôö¼ÓÊý¾Ý

EXEC SQL insert into dept (deptno, dname, loc) values(:deptno, :dname, :loc);

EXEC SQL commit;

EXEC SQL COMMIT RELEASE; //Ìá½»ÊÂÎñ¶Ï¿ªÁ¬½Ó

return ret;

}

ÔËÐнá¹û:

\

ɾ³ý

MakefileÂÔ

#include

#include

#include

#include "sqlca.h"

//¶¨ÒåËÞÖ÷±äÁ¿ serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

int main()

{

int ret = 0;

printf("hello....\n");

//ÔÚCÖÐÊÇËÞÖ÷±äÁ¿

printf("serverid:%s \n", serverid);

//ǶÈëʽSQLÓïÑÔ±ØÐëÒªÒÔ EXEC SQL¿ªÍ·

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sqlca.sqlcode;

printf("EXEC SQL connect:err, %d\n", ret);

return ret;

}

printf("connect ok\n");

deptno = 50;

strcpy(dname, "50name");

strcpy(loc, "50loc");

EXEC SQL delete from dept where deptno=:deptno;

EXEC SQL commit;

EXEC SQL COMMIT RELEASE; //Ìá½»ÊÂÎñ¶Ï¿ªÁ¬½Ó

return ret;

}

ÔËÐнá¹û£º

\

¸üУº

Makefile¹«ÓÃÉÏÃæµÄ

#include

#include

#include

#include "sqlca.h"

//¶¨ÒåËÞÖ÷±äÁ¿ serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

//¸üÐÂ

int main()

{

int ret = 0;

printf("hello....\n");

//ÔÚCÖÐÊÇËÞÖ÷±äÁ¿

printf("serverid:%s \n", serverid);

//ǶÈëʽSQLÓïÑÔ±ØÐëÒªÒÔ EXEC SQL¿ªÍ·

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sqlca.sqlcode;

printf("EXEC SQL connect:err, %d\n", ret);

return ret;

}

printf("connect ok\n");

deptno = 50;

strcpy(dname, "50name");

strcpy(loc, "50loc");

//Ôö¼ÓÊý¾Ý

EXEC SQL insert into dept (deptno, dname, loc) values(:deptno, :dname, :loc);

EXEC SQL commit;

printf("enter key ... update \n");

getchar();

getchar();

strcpy(loc, "50locloc");

EXEC SQL update dept set loc = :loc where deptno=:deptno;

//EXEC SQL delete from dept where deptno=:deptno;

EXEC SQL COMMIT RELEASE; //Ìá½»ÊÂÎñ¶Ï¿ªÁ¬½Ó

return ret;

}

Ö´Ðнá¹û£º

\

Êý¾Ý¿âÖеĽá¹û£º

\

²éѯ²¢ÏÔʾ½á¹û£º

#include

#include

#include

#include "sqlca.h"

//¶¨ÒåËÞÖ÷±äÁ¿ serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/123456@orcl";

int deptno;

char dname[20];

char loc[2