ProC (16) 썸네일형 리스트형 SQL문 기본 SQL문 기본 데이타베이스에서 데이타를 질의한다.(Select) 데이타를 입력(Insert), 수정(Update), 삭제(Delete)한다. 데이타 구조를 생성(Create), 수정(Alter), 삭제(Drop)한다데이타 액세스를 조절한다(Grant) SQL문의 종류 SQL문의 종류에는 DDL(Data Definition Language테이블/데이타의 구조를 조작하는 명령) DML(Data Manupulation Language : 데이타를 조작하는 명령) Session Control(세션을 제어하는 명령) System Control(시스템을 제어하는 명령) Transaction Control(트랜잭션을 제어하는 명령) 등이 있다. (아래 표 참고) Data Definition Data Manupulat.. Pro*C 개요 Pro*C개요 Embedded SQL Program 의 생성 Pro*C는 PreCompiler로 SOURCE에 포함되어 있는 Embedded SQL문을 SQLLIB의 Function으로 SOURCE코드를 생성시켜 C SOURCE로 변환해 주는 프리 컴파일러이다. 3GL언어에서 SQL문(4GL언어)을 사용하여 보다 편하게 ORACLE을 직접 Access할 수 있도록 한다. 어떤 SQL문장이든 수행가능하다. 데이타베이스 테이블을 다이나믹하게 CREATE, ALTER, DROP한다. Row를 SELECT, INSERT, UPDATE, DELETE 한다. 트랜잭션을 COMMIT, ROLLBACK 한다. PL/SQL을 실행 할 수 있다. Pro*C의 기초 Pro*C의 기초 Embedded SQL 문 어플리케이션에서 SQL문과 C문장과 C변수와 SQL문장의 구조를 모두 자유롭게 사용할수 있다. 호스트 프로그램에서 SQL문장을 사용할 경우 “EXEC SQL”이란 키워드를 사용하여 SQL문을 시작하고 문장의 마지막에는 세미콜론(“;”)으로 종결되도록 한다. EXEC SQL로 시작하여 ‘;’로 종료하는 것이 Embedded SQL이다. 선언(Declarative) 명령 설명 ARRAYLEN PL/SQL에서 호스트 array를 사용 BEGIN DECLARE SECTION END DECLARE SECTION ANSI모드에서 호스트 변수를 사용하기 위한 명령 DECLARE Oracle object의 이름 부여 INCLUDE 현재위치에 파일 대치 TYPE 데이터 타입의.. [PRO*C] 멀티 쓰레드 프로그램을 만들어서 돌리구 있씁니다. Dynamic SQL Method 4 샘플 소스를 가져와서 멀티 쓰레드 프로그램을 만들어서 돌리구 있씁니다.... 실행은 잘되는데...메모리가 계속 증가합니다... 커서 CLOSE 도 점검했고...프로그램 자체의 메모리 누수도 체크해 봤지만.... 도저히 못잡겠습니다... 원본 소스를 올립니다... 오라클 버젼은... Oracle9i Release 9.2.0.1.0 - 64bit Production 입니다... 원래 오라클 버그가 있나요??? 아니면...Dynamic SQL 을 쓸때...메모리가 증가 되는게 정상인가요??? 고수님들 답변 부탁드립니다... =================================================================================== .. [ORACLE] pro*c makefile 만들기 pc 파일을 c로 바꿀 때 어떤 파일이 요구된다면, include $(....)으로 선언해 준다. ------------------------------------------------------------------------- # Server Pro*C makefile include $(ORACLE_HOME)/precomp/lib/env_precomp.mk ORALIBDIR = $(LIBHOME) ORALIB = $(PROLDLIBS) TARGET= proc_sample APOBJS= $(TARGET).o OBJS = $(APOBJS) CFLAGS = -O -g -D_DBG # .SUFFIXES : .c .c.o: $(CC) $(CFLAGS) -c $ Make file for Pro*c TARGET = ptest DEST = . INCL = . #Oracle ORA_HOME = /home/oracle/product/8.1.7 ORA_LIB = -L$(ORACLE_HOME)/lib -lclntsh ORA_OPT = SQLCHECK=SEMANTIC PARSE=PARTIAL RELEASE_CURSOR=YES USERID=scott/tiger@ORCL ORA_GARBAGE = *.dcl *.cod *.cud *.lis #Suffix .SUFFIXES: .pc .c .pc.c: proc $* $(ORA_OPT) .c: gcc -o $* $*.c $(ORA_LIB) #----------------------- all: $(TARGET) rm $(ORA_GARBAGE) -f ptest: ptest... [pro*c] 오라클DB 에 이미지 넣기 예제 Pro*C에서 DB에 Image 저장하는 방법 -------------------------------------------------------------------------------- SAMPLE : DB에 IMAGE FILE을 저장 Bulletin no : 10111 -------------------------------------------------------------------------------- 다음은 image file 을 insert 하는 예제입니다. 참고 하십시오. * 이미지 화일의 Type에는 여러가지 형태가 있다. 예를 들면 BMP, PCX, TIF, ... 이 중에서도 압축 효율이 높은 File의 형태를 선택하는 것이 좋다. 가령 BMP Type보다는 PCX Format.. Pro*c 예제, 내장함수 예제 Pro*c 예시. 번호: 84 / 작성자: jinyedge / 등록일: 2004-10-23 17:08:06 / 조회: 170 #include EXEC SQL INCLUDE SQLCA; /*Define*/ #define IS_EMPTY(value) (value == NULL || ! value[0]) /*----------------*/ void ora_conn(){ EXEC SQL BEGIN DECLARE SECTION; char uid[100] = "scott/tiger@oragizmo"; EXEC SQL END DECLARE SECTION; /*For cgi*/ putenv("ORACLE_HOME=/home/oracle/ora9204"); putenv("ORACLE_SID=oragizmo"); put.. 이전 1 2 다음