Q&A

  • Delphi와 DB의 연결.....?
안녕하세요..

델파이로 리모트 데이타베이스(Oracle7.3)에 접근해서 작업하는 프로그램을 만들려고 합니다.

델파이로 프로그램한지가 얼마되지않아 DB콤포넌트들도 낮설구 접속 방법도

모르겠네요...

리모트DB (Oracle)와 연결하는 방법과 로칼(MS AccessDB)와 연결하는 방법을

알고싶군요...

DB Program의 고수님들 부탁합니다...

혹시 DB 연결과 쿼리문장으로 DB 작업하는 간단한 소스를 알려 주시면 큰도움이 될것같군요...



감사합니다..

1  COMMENTS
  • Profile
    한근수 1999.10.20 22:54
    Zion wrote:

    > 안녕하세요..

    > 델파이로 리모트 데이타베이스(Oracle7.3)에 접근해서 작업하는 프로그램을 만들려고 합니다.

    > 델파이로 프로그램한지가 얼마되지않아 DB콤포넌트들도 낮설구 접속 방법도

    > 모르겠네요...

    > 리모트DB (Oracle)와 연결하는 방법과 로칼(MS AccessDB)와 연결하는 방법을

    > 알고싶군요...

    > DB Program의 고수님들 부탁합니다...

    > 혹시 DB 연결과 쿼리문장으로 DB 작업하는 간단한 소스를 알려 주시면 큰도움이 될것같군요...

    >

    > 감사합니다..



    저두 오라클에 연결해본지 얼마 안되는 초짜입니다.

    하지만 연결에 성공해서 제가 알고 있는 방법을 알려드리죠.

    우선 디비하고 연결이 잘되는지 확인해보세요.



    다음은 SQL Net Easy Configuration 설정 예입니다.

    Database Alias : MYORA <--임의로 정하세요.

    Protocol : TCP/IP

    Host Name : my.oracle.co.kr <--IP 주소도 OK

    Database Instance : ORA7



    SQL Plus로 연결해 보세요.

    ID/PWD 입력하시고 호스트 스트링은 위에서 Alias로 정한 ORACLE를 입력하세요.



    성공되셨으면 ODBC설정해야 합니다.

    제어판에서 ODBC관리자 실행.

    추가버튼을 누르시고 오라클 ODBC를 선택하고 마침버튼을 누르세요.



    ODBC 설정 예

    Data Source Name : MYORA

    SQL*Net Connect String : MYORA <-- SQL Net에서 정한 Alias

    (어느 ODBC를 쓰느냐에 따라 약간의 차이가 있는 건 아시죠?)



    ODBC설정이 끝났으면 Database Desktop에서 Alias설정을 해야합니다.

    Aliases manager에서 New버튼을 누르세요.



    Alias : MYORACLE

    Driver Type : ORACLE( 또는 oracle73)

    Database : MYORA

    User Name : xxxxx

    ODBC DSN : MYORA

    .....

    Password : *****



    나머지는 Default로 사용하셔도 무방합니다

    Connect 버튼이 있을 겁니다. 눌러서 연결되나 확인해 보세요.



    연결이 끝났으니까 델파이에서

    Data Access에서 Data Soruce, Query 컴포넌트를, Data Control에서

    DB Grid를 하나씩 폼에 놓으세요.



    Properties 설정을 다음과 같이 하세요.

    Data Soruce1 : DataSet = Query1

    DBGrid1 : DataSource = Data Soruce1

    Query1 : DatabaseName = MYORACLE

    SQL = select * from test

    Active = true



    DBGrid에 test테이블의 자료가 나타나면 성공입니다.



    참고로 저는 파라독스를 쓰고 자료입력,수정,삭제,조회를 주로

    query컴포넌트를 썼습니다. 파라독스에서는

    query1.sql.add('insert test (name, age) values("aaa",28)');

    이렇게 했는데 오라클에서는 에러가 나더라고요. 한참을 고민했는데

    답은 오라클에서 문자열은 작은 따옴표를 사용하더군요.

    다음처럼 바꾸면됩니다.

    query.sql.add('insert test (name, age) values(' 'aaa' ',28)');

    글구, Database DeskTop를 이용해서 테이블을 생성하지 마세요.

    델파이에서 table로보면 자료가 조회되지만 query컴포넌트나

    SQL Plus로 확인해보면 테이블이나 뷰가 존재하지 않는다는

    메세지가 나와요. data pump도 마찬가지고요. 왜그러지는 모르겠구요.

    저도 이부분때문에 고민중입니다. 아무래도 테이블 생성이후 어떤 조치가

    있어야 되는가봐요.

    한가지 더, 다른 컴퓨터에 인스톨하실 때도 SQL Net Easy Configuration하고

    ODBC설정을 해주어야하고 리부팅하셔야 합니다.

    SetUp파일 만드는 법 알고 싶으시면 글 올리세요. 제가 아는데로 답변하겠습니다.

    그럼 20000.



    - 洙