LinuxÒÁµéÔ°ÂÛ̳'s Archiver

roster ·¢±íÓÚ 2005-11-15 17:33

ÇóÖúÔÚPROC ±à³ÌÖеÄÎÊÌ⣿

ÎÒдÁ˼«¼òµ¥µÄ³ÌÐò£¬¿ÉÊDZàÒë²»¹ý£¬Çë°ï°ï档лл£¡
Ï£ÍûÓÐÈË»ØÌû£¡
[code]
#include <STDIO.H>
#include <SQLCA.H>
#include <STRING.H>
#include <STDLIB.H>
#include <TIME.H>


#include

</P>#include<UNISTD.H>
EXEC SQL INCLUDE SQLCA;

EXEC SQL INCLUDE ORACA;

EXEC ORACLE OPTION (ORACA=YES);
void sqlerr();
main()
{
                char strusername[20];
                char strpassword[20];
                char stralias[20];
                char v_ename[20];


                EXEC SQL BEGIN DECLARE SECTION;
                                VARCHAR varusername[30];
                                int v_empno;
                EXEC SQL END DECLARE SECTION;

                strcpy(strusername,"scott");
                strcpy(strpassword,"tiger");
                strcpy(stralias,"test");
                sprintf((char *)varusername.arr,"%s/%s@%s",strusername,strpassword,stralias);

                varusername.len=strlen(varusername.arr);
                v_empno=7777;

                EXEC SQL WHENEVER SQLERROR do sqlerr();
                EXEC SQL CONNECT :varusername;

                /*EXEC SQL INSERT INTO EMP(EMPNO,ENAME)
                VALUES(:v_empno, :varusername);
                EXEC SQL COMMIT WORK RELEASE;*/
}
void sqlerr()
{
                EXEC SQL WHENEVER SQLERROR STOP;
                printf("nconnect oracle server falsen");
                EXEC SQL ROLLBACK WORK RELEASE;
}
[/code]
Ìáʾ´íÎóÈçÏ£º
[code]
gcc -g -D_DEBUG -c o_test2.c
o_test2.c:210: redefinition of `struct sqlca'
make: *** [o_test2.o] Error 1
[/code]
makefile Îļþ
[code]
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
OBJS=o_test2.o
EXE=tt1
CC=gcc
MYCFLAGS=-g -D_DEBUG
FLAGPROC=userid=scott/tiger@test sqlcheck=full
PROCFLAGS=sys_include=(/usr/include,/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include,/usr/lib/gcc-lib/i386-redhat-linux/2.96/include,/usr/lib/i386-redhat-linux7/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include)
THREADS=YES
RARSE=NONE
LIBS=-lpthread -lnsl
all:$(OBJS)
                $(CC) -o $(SQLCHECK) $(EXE) $(OBJS) $(LIBS) $(LDPATHFLAG) $(LIBHOME) $(PROLDLIBS)

clean:
                rm *.o
.SUFFIXES: .pc .c .o
.pc.c:
                $(PROC) $(FLAGPROC) $(PROCFLAGS) iname=$ o_test2.pc

.pc.o:
                $(PROC) $(PROCFLAGS) iname=$ o_test2.pc
                $(CC) $(MYCFLAGS) -c $ o_test2.c

.c.o:
                $(CC) $(MYCFLAGS) -c $ o_test2.c
[/code]
ÇëÖ¸³öÎҵĴíÎ󣡣¡

roster ·¢±íÓÚ 2005-11-24 13:43

ûÈ˰ïæ×Ô¼º¶¥£¬¾­¹ý²âÊÔºÃÏóÊÇORACLEϵͳÓдíÎó£¿

roster ·¢±íÓÚ 2005-12-6 09:11

ÒѾ­ÕÒµ½´íÎóÁË£¬ÔÚÿ¸öº¯ÊýÖÐÈç¹ûÓöµ½ÒªÊ¹ÓÃSQLCA£¬Ôò¶¼Òª¶¨ÒåËü
¿ÉÒÔÊÇstruct sqlca sqlca ÕâÑù»á·¢³ö¸ö¾¯¸æ
¶ø EXEC SQL INCLUDE SQLCA ²»»á

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.