오늘은 오라클 연결하는 것에 대해 배웠다.
ODAC (Oracle Data Access Components) : 우리 회사에선 오다컴포넌트(?) 라고 부른다.
- 델파이에서 이 컴포넌트를 쓰면 오라클 클라이언트 없이 DB를 직접 연결할 수 있다.
- ODBC 등 연결이 불필요하다.
- TCP/IP를 통한 다이렉트 연결이다.
아래와 같이 오라클 DB에 접근할 수 있는 다양한 컴포넌트들이 존재한다.
그 중에서도 제일 중요한 거!
타입 | 용도 |
TOraSession | 데이터베이스 연결을 위한 컴포넌트 |
TOraQuery | 사용자가 SQL문을 입력하여 데이터베이스로부터 데이터를 가져옴 |
TOraTable | 데이터베이스와 직접 일대일로 테이블을 가져오기 위한 컴포넌트. 조인된 데이터는 불가 |
TOraDataSource | TOraQuery나 OraTable로 가져온 데이터를 사용자 인터페이스(DB Controls)와 연결해주는 컴포넌트 |
TOraStoredProc | 서버의 저장 프로시저를 실행하기 위한 컴포넌트 |
- 오라쿼리는 말그대로 쿼리문 짠 것을 바탕으로 DB에서 값을 받아오는 것이다.
- 오라데이터소스는 명령에 대한 결과물을 담아놓는 공간이다.
- 오라스토어프로시저는 DB에 정의해준 명령을 실행하기 위한 컴포넌트이다.
- 이렇게 위와 같은 오라클 데이터베이스를 연결해주는 컴포넌트들을 가져온 후에,
- DB를 컨트롤 해주는 컴포넌트들을 가져와서 쓰면 된다!
특히 이 중에서도 우리는 TCxGrid와 TCxTreeList 라는 것을 가장 많이 사용한다!
<< 바운드 방식으로 작업하기 >>
바운드 방식 :
DB에 직접 접근하는 방법. 쌍방향으로 연결되기 때문에 사용자가 입력한 값이 실제 DB에도 반영되어 영향을 받는다.
언바운드 방식 :
DB를 직접 접근하지 않고 간접적으로 접근하고(보여주기만 한다든지), 실제 DB에는 영향을 주지 않는 방식.
대신 실제 데이터 베이스의 값을 변경하려면 별도로 처리해줘야함.
오라세션을 더블클릭하면 DB 계정을 연결해줘야 한다.
- Host란 오라클이 서비스되는 PC의 IP주소를 말한다.
(IP주소를 확인하고 싶을 땐 컴퓨터에서 cmd 명령 창을 활성화하여 ipconfig를 입력하여 확인할 수 있다.) - SID는 내 PC에 설치된 오라클 DB의 이름 그 자체를 말한다.
(예를 들어 오라클 DB이름을 'myungsoo' 라고 해놨으면 작업관리자에서도 명수라는 이름으로 오라클이 돌아가고 있다.) - Port
- ID / password 를 입력해준다.
그후에, 오라쿼리에 상위인 오라세션을 연결해주고, 오라데이터소스에 오라쿼리를 연결해준다.
오라세션 > 오라쿼리 > 오라데이터소스
이렇게 각각 데이터를 연결을 해주자.
그리고 이런 애들을 폼에 여러개 올려놓을 때는 당연히 헷갈릴 수 있기 때문에 이름을 잘 지어줘야 한다.
이름도 지어주고 Active 가 True 인지도 봐주고,
지정된 데이터도 잘 맞는지 확인해줘야 한다.
이후 TOraDataSource를 더블클릭하여서 쿼리문을 작성해놓고,
select * from Basic_program_info;
폼에다가
TCxGrid를 가져다 놓고, 데이터 소스를 연결해준 후
Retrieve Field 를 눌러주고 Active를 True로 해주면 연결된다!
'델파이코딩_개발일지' 카테고리의 다른 글
델파이코딩_디버깅/컴파일/주석처리/뷰소스/컴포넌트/dfm/pas (0) | 2023.02.07 |
---|---|
델파이코딩_입력값 전달받는 컴포넌트들 (0) | 2023.02.07 |
델파이코딩_Oraquery에서 SQL 쿼리문 전송 및 DB 연결하기 (0) | 2023.02.07 |
델파이코딩_파일 생성부터 구구단 출력하기까지 (0) | 2023.02.07 |
델파이 코딩_등차수열의 합 구하기 (0) | 2023.02.07 |