Q&A

  • bde설정에서 오라클은..?
델파이 에서 bde엔진을 이용해서 db grid 에 내용을 뿌려주는 연습을 하려고 합니다.

그런데 먼저 오라클 net 을 설정하라고 하는데...접

초보인 저로서는 넘 어렵네여

회사 오라클 서버명은 알고 있구요....



oracle net 설정과 bde설정을 초보가 알수 있게금 자세하게 가르쳐 주시면 감사하겠습니다.





1  COMMENTS
  • Profile
    꼴통 2001.02.16 00:24
    이자료는 한델에 있는 자료입니다.

    전에 제가 필요해서 TEXT FILE로 만들어 두었던 건데

    유용하게 써먹네여..

    보시고 참고하시면 될것 같습니다.



    [오라클 연결을 위해 필요한 것들]

    - 델파이 SQL Links

    - 오라클 클라이언트 : SQL*net



    일단 델파이를 설치할 때, 오라클 드라이버를 선택해야 합니다. 그러면 SQLORA32.DLL,

    SQLD_ORA.DLL 등 몇 개의 파일이 복사되는데 이것들을 'SQL Links'라고 부릅니다.

    그리고, 오라클사에서 제공하는 오라클 클라이언트(SQL*Net)를 설치해야 합니다.

    여기에는 나중에 BDE 설정에서 보게 될 ORA7WIN.DLL, ORA72.DLL, ORA73.DLL 등이

    설치된답니다. 이 파일들이 존재하는 디레토리는 반드시 패스에 잡혀 있어야 합니다.

    오래된 버전의 오라클 클라이언트는 설치 시 autoexec.bat의 패스에 틀린 디렉토리를

    입력하기도 합니다.



    참고적으로 델파이 DB 에플리케이션이 오라클에 연결을 시도하면 BDE가 SQLORA32.DLL을

    메모리에 로드하고 이 DLL은 다시 Vendor Init 파일인 ORA*.DLL 파일을 통해 데이터베이스

    서비스를 제공한답니다.





    [오라클 연결 설정 과정]



    - 오라클 데이터베이스 에일리어스 등록 : 오라클 Net Easy Config

    - BDE 설정과 에일리어스 등록 : 델파이 BDE Administrator





    2. 오라클 데이터베이스 에일리어스 등록

    ======================================



    오라클 데이터베이스 에일리어스(alias) 설정과정은 간단하게 말씀 드립니다.

    TCP/IP 프로토콜을 사용할 경우, 'Net Easy Config' 유틸리티에서 서버 IP 주소와

    서버 Instance Name(디폴트: ORCL, 서버 관리자에게 문의), 에일리어스만 입력하면

    등록됩니다. 이 과정을 좀더 자세히 기술하면 다음과 같습니다.



    - Add New Services를 선택후 Service Name을 입력한다.(프로젝트명으로 하는걸 권장)

    - Protocol을 선택한다.(이때 Oracle 서버에서 제공하는 Protocol만 사용이 가능하나

    사용해본 결과 TCP/IP가 제일 빠르다고 판단됨)

    - TCP/IP를 선택했으면 서버의 IP Address를 입력한다.

    - Protocol에서 Name Pipe를 선택했으면 ServerName을 입력한다.

    - DataBase SID를 입력한다.(Oracle Server설치시 입력한 SID, Default는 ORCL)

    - (Oracle 8)Test Service를 선택하여 사용자명과 비밀번호를 입력후 Test한다.

    (default user/passwd는 system/manager)

    - Finish를 선택한다.





    도스창에서 tnsping 이나 tnsping32를 사용하여 등록한 에일리어스가 제대로

    연결되는 확인할 필요가 있지요. 물론, 테스트에 SQL*Plus를 사용할 수 도 있습니다.



    tnsping <오라클 데이터베이스 에일리어스>



    여기서의 에일리어스는 BDE의 에일리어스와 다르다는 것을 기억하세요. 이미 짐작하

    셨겠지만, 델파이 에플리케이션에서 연결 과정은 다음과 같습니다.



    [델파이 에플리케이션] -> [BDE 에일리어스] ->

    [오라클 DB 에일리어스] -> [오라클 데이터베이스]



    3. BDE 설정과 에일리어스 등록

    =============================



    BDE 설정은 약간 복잡합니다.

    BDE Administrator를 실행하고 Configuration ->Drivers->Native -> ORACLE 순서로

    차레로 선택합니다. 오른쪽의 Definition 목록에서 다음의 것들을 정확히 설정해

    주어야 합니다.



    DLL32 : SQLORA8.DLL, SQLORA32.DLL, SQLD_ORA.DLL 등

    VENDER INIT : ORA7WIN.DLL, ORA72.DLL, ORA73.DLL, ora803.dll

    NET PROTOCOL : <서버 접속에 사용할 프로토콜>



    먼저 DLL32는 변경할 필요가 없을 겁니다. 델파이가 설치될 때 알아서 설정해 주니까요.

    참고로 Oracle 8이면 SQLORA8.DLL을 미만이면 SQLORA32.DLL이 설정되어 있습니다.

    Vendor Init 에서 오라클 서버 버전에 맞는 DLL을 선택합니다.



    ORA7WIN.DLL : 오라클 7.0

    ORA72.DLL : 오라클 7.2

    ORA73.DLL : 오라클 7.3

    OCI.dll : 오라클 8.0 (ORA83.DLL 아님!)





    설정한 DLL이 없거나 패스가 잡혀있지 않아 BDE가 DLL 파일을 메모리에 로드하는데

    실패했을 경우, 다음과 같은 에러 메시지가 난답니다.



    Vendor initalization failed.

    Cannot load an IDAPI service library.



    NET PROTOCOL에는 오라클 서버가 제공하는 프로토콜을 선택합니다. 보통 TNS나

    TCP/IP를 많이 사용하는데 정확한 것은 서버 관리자에게 문의하세요.



    이제 BDE 에일리어스를 만들 차레입니다.

    BDE Administrator의 Database 페이지로 와서 메뉴의 Object - New 항목을 선택해

    새로운 에일리어스 만듭니다. Database Driver Name을 물으면 'ORACLE'를 선택하고

    확인을 누릅니다. 그러면 데이터베이스 트리 아래에 새로운 항목이 생성되지요.

    여기에 BDE 에일리어스 이름을 입력합니다. 이름을 입력한 후, 오른쪽 Definition

    목록에서 다음의 것들을 입력해 줘야 하지요.



    SERVER NAME : <오라클 DB 에일리어스>

    USER NAME : <사용자 아이디>



    여기서 Server Name은 아까 등록한 오라클 DB 에일리어스를 말합니다.

    Service명뒤에 '.World'가 붙지요. 그리고, User Name은 오라클 서버의 계정

    아이디를 의미합니다.

    참고로 여기서 Configuration 페이지의 항목과 중복되는 것들이 몇 개있는데

    항상 에일리어스 항목이 우선시 되며 연결시에 Configuration 페이지의 항목을

    오버라이딩하지요. Configuration 페이지의 항목은 디폴트 값이라고 생각하시면

    됩니다.



    항목을 다 입력했으면 메뉴의 Object - Apply를 선택해서 에일리어스 정보를

    저장합니다.



    이제 델파이 에플리케이션을 만들 시간이지요.

    테이블(TTable)이나 큐어리 컴포넌트(TQuery)의 DatabaseName 프로퍼티에

    방금 등록한 BDE Ailas를 설정하면 오라클 접속이 완료된겁니다.

    그에 앞서 SQL Explorer나 데이터베이스 데스크탑에서 설정한 BDE 에일리어스가

    제대로 동작하는지 확인해 보는 것이 좋습니다.