Oracle 11g 프로그래밍 준비


1. Oracle11g 설치 준비 


본 Oracle Client 응용개발에 들어가기에 앞서 "Oracle Database Installation Guide" 와 "Oracle Database Client Installation Guide" 를 반드시 참조하여야 한다.

위 관련 문서는 아래 사이트에서 열람이 가능하다.

http://www.oracle.com/pls/db111/portal.portal_db?selected=11 


2. Oracle DBMS 설치

  1) 설치 기본 

  Oracle DBMS는 아래 사이트에서 다운로드 받는다. 
 

  Oracle 8i(8.1.3) 이전 버젼은 ORACLE_HOME  디렉토리로서 default로 c:/orant  디렉토리에 설치되었지만
  
  Oracle Database 11g Release 1은  Drive:/app/username 으로 설치되며 Drive는 하드디스크의 파티션으로
  
  정하면 된다. 

  Database 파일명은 Oracle 8i 이전 버젼의 경우 (예:ctl1SID.ora) 로 저장되었으나 /oradata 디렉토리 내에 각 DB명으로 통합 저장된다. 

 또한 .ora 라는 확장명으로 저장되던 DB파일은 .ctl, .log, .dbf 로 각각 세개의 파일로 분리되어 저장되며
 .ctl 은 파일들을 제어하기 위하여, .log 는 log를 위하여, .dbf 는 data 파일을 위해서 존재한다.

  2) Oracle 디렉토리명 

     - ORACLE_BASE Directory : Oracle 디렉토리의 root를 의미한다.  Oracle Universal Installer의 default 설정으로 
                                              해놓았다면 Drive:/app/username 을 의미한다.  (예: D:\app\Admin )
                 처음 Oracle Universal Installer 로 실행한 이후에는 ORACLE_BASE에 대한 시스템 환경 변수 값을 바꾸지 말것

  
     - ORACLE_HOME Directory : Oracle Home 디렉토리는 Drive:/app/username/ 밑에 저장되며 Oracle 실행파일과 
                 네트워크 파일이 저장 관리된다.   윈도우의 경우 db_1 
                 예: D:\app\Admin\product\11.2.0\dbhome_1 




Oracle 11g DBMS가 이미 설치되었다는 전제로 아래 사이트에서 클라이언트 도구를 다운로드 하도록 한다.


여기에서 두개의 툴을 다운로드 받도록 한다. 

instantclient-basic-nt-11.2.0.2.0.zip  : library dll

instantclient-sdk-nt-11.2.0.2.0.zip  : header 파일과 OCCI 어플리케이션 개발에 필요한 makefile 포함 

위에는 Client에서 Oracle 11g의 접속에 필요한 각종 Library(dll) 들이 VC8(Visual Studio 2005), 

VC9(Visual Studio 2008) 기준으로 포함되어 있다. 


Visual Studio 2010의 경우에는 아래의 사이트에서 Library를 다운로드 하도록 한다.


Oracle 11g Client 프로그램을 작성하기 위해서는 oraocci11.dll 과 oraocci11.lib , 이 두개의 파일이 필요하다

Application은 oraocci11.lib를 반드시 링크해야 한다.  Visual Studio의 각 버젼에 맞는 lib와 dll을 사용하여야 함은

두말할 나위 없다. 


2. 샘플코드 

샘플코드는 위에서 설명한 다운로드 파일 중에서 "instantclient-sdk-nt-11.2.0.2.0.zip" 에  "instantclient_11_2\sdk\demo"
디렉토리에 존재한다. 

각 cpp 소스를 검토해 보라 






디렉토리 만들고 이동하여 파일 생성하기

    NSString *strPathFileName = [NSHomeDirectory() stringByAppendingPathComponent: @"Documents/texture" ];        NSFileManager *pFileMgr;    &... » 내용보기

delegate와 protocol을 이용한 이벤트전달

어떤 수행작업이 이벤트형태로 동작될때 이를 외부클래스로 알릴경우가 있을 것이다.예를 들어 네트웍으로 데이터를 전달할 경우 전송이 다 끝날을때 Blocking모드가 아닌 NonBlocking 모드로 개발할 경우해당 클래스가 아닌 외부클래스로 끝났음을 알리는 이벤트를 알릴경우이다.우선 이벤트를 외부로 알릴 주체클래스를 아래와 같이 만들도록 한다.------... » 내용보기

XCode 4에서 static Library 만들고 사용하기

XCode 3에서의 static library 사용법은 많이 찾아볼 수 있으나 XCode 4에서 UI가 상당히 많이 바뀌어서 이를 정리해 보고자 한다.1. 우선 라이브러리 프로젝트부터 만들도록 하자    프로젝트명은 PublicLibrary 라고하고 아래그림처럼 만들어 보자      &nbs... » 내용보기

SqLite의 쿼리 요청과 결과 얻어오기

1. 쿼리문 구성하기  </br>     char sql[1024];    // table  : 테이블 명   // column : 컬럼 명     sprintf (sql, "SELECT type FROM geometr... » 내용보기