Q&A

  • 두개의 Server에서 데이터를 조인해야하는데 어떻게 하나요?
DB는 오라클입니다.

A라는 서버와 B라는 서버가 있습니다.

A서버에 있는 테이블과 B서버에 있는 테이블과의 조인을 하려합니다.

어떻게 해야 되는지요 ?   가능은 한건가요 ?

물론 델파이의 TQuery를 이용해서 해야 하고요...

가능하다면 어떻게 해야하는지 자세한 설명을 부탁드립니다.

6  COMMENTS
  • Profile
    cell 2002.08.03 01:52
    많은 분들이 도와주셨네요...

    감사합니다.

    다음주부터 코딩이라 그때 해봐야 되겠네요...
  • Profile
    김경록 2002.08.02 19:12
    이건 별로 어려운건 아닙니다.
    일단,
    컴포넌트 Database1, Database2를 폼에 두고,
    해당 컴포넌트에 님이 원하는 Server1, Server2의 DB와 연결 시킵니다.
    이것은 어떤 방법으로도 관련없이
    일단 접속이 되도록만 설정하면 됩니다.


    TQuery상에서 조인을 하는 방법은.
    (  database1 컴포넌트의 databasename은 DB1로,
       database2 컴포넌트의 databasename은 DB2로 가정하겠습니다.)


    SELECT  A.필드1, A.필드2, B.필드1, B.필드2
       FROM   "DB1:테이블명" A,     //"DB1:테이블명"은 DB1에 소속된 테이블
                   "DB2:테이블명" B     //"DB2:테이블명"은 DB2에 소속된 테이블
    WHERE   A.필드 = B.필드


    이렇게 쿼리를 작성하시면 잘 됩니다.
    물론, 이것은 저도 잘 사용하고 있는 내용이라는것을
    거듭 밝혀 드립니다.
    단!!!!
    위와같이 이종 쿼리를 작성할때에는
    반드시 WHERE 절에서 각 테이블끼리 JOIN이되는
    구문이 무조건 1줄이 있어야만 합니다..
    반드시!!!

    그리고, DB1, DB2에 연결된 DB가 같아되 되며,
    당연히 같지 않아도 됩니다.
    서로 JOIN이 될 수 있으면,
    언제든지 가능하다는걸 알려드립니다.
    말 그데로, 이종쿼리입니다!!!

    답변이 되셨길..




  • Profile
    머슴 2002.08.02 18:26
      서버가 다른경우에..DATABASE LINK 라는것으로 해결을 보셔야 합니다.

      네트워크상에 다른 데이터베이스를 자신의 DB인것 처럼 사용을

      하는 방법입니다..(synonym의 개념과 비슷합니다)

      두 서버(db)상에   character set이 반드시 동일해야합니다.

         A 서버            B서버

         ORA1             ORA2

      create public database link  link명  connect to scott identified by tiger
      using 'ORA2';

      암호는 B서버의 암호(scott/tiger)

      이렇게 해주시고...

      A서버(DB)에서  

      create synonym 필요테이블 for 필요테이블@ORA1;

      이렇게 잡아주시면 됩니다...

      B서버에서 linser.ora인가 tnsnames.ora에서  뭐를 하나 더 잡아주었는데.

    이부분이 잘 기억이 안남

    그런데.. 잡아준 부분이... A서버에 대한 정보(ip등)를 적어주었던 기억이

    나거든요...




  • Profile
    이추형 2002.08.02 18:44
    오라클 클라이언트 설치된 디렉토리에서 TNSNAMES.ORA라는
    파일을 수정해 주셔야합니다.

    sample.WORLD =
      (DESCRIPTION =
        (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 255.255.255.255)(PORT = 1521)))
        (CONNECT_DATA = (SERVICE_NAME = ORACLE))
       )


  • Profile
    머슴 2002.08.02 19:26
    오라클 클라이언트 설치된 디렉토리에서 TNSNAMES.ORA라는
    파일을 수정안해줘도 될것 같은데요..
    왜냐하면... DB1자체에서  DB2를 물고 들어가는거라서..
    1개의 DB처럼 사용하는방법인데요...

    그래서 DB2를 위해서 클라이언트의 환경을 잡을 필요가 없고
    DB1환경으로 해결이 됩니다..

    제가 이야기 한것은... DB2의 서버단의 환경화일을 을 말하는것입니다..

    만약에 초기 개발 환경이라면... 2tier(3tier에서는 관계가 없지만)에서
    클라이언트에서 2개의 환경을 잡으면 되지만..

    만약에 유지보수 단계라고 하면... 재설치나 환경을 다시 잡아주는
    문제가 심각하지 않을까요.. 그래서 이방법을 제시한것인데요..










  • Profile
    미소나눔 2002.08.02 11:26
    저도 몰라서 물어봤는데 SQL Server 는 OPENROWSET 를 사용해봐라 하는데용.. 오라클도 있을듯..

    • 박성훈
      2002.08.04 20:13
      안녕하세요? Undeclared identifier : 'FindNearest'  메세지는 이 메소드를 쓸 수 없다는 ...
    • 정광채
    • 2002.08.02 20:43
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ^ㅡ^
      2002.08.03 03:18
      안녕하세요 저도 델파이초보입니다 근데 제가 알기론 이미지를 디비에 저장 하는방법은 좋지 않...
    • 정광채
      2002.08.03 09:54
      var  bmp : String; begin if OpenPictureDialog1.Execute then  //오픈픽쳐다이...
    • ^ㅡ^
      2002.08.03 22:47
      저두 여기서 도움을 많이 받았거든요 아까 그 내용들도 여기 저기서 찾은거에요 그래도 도움이 되셨다...
    • 한승희
    • 2002.08.02 19:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이준해
      2002.08.03 01:55
      CBuilder 6.0 을 같이 설치하셨나요 ?
    • 솔잎혹파리
      2002.08.03 01:37
      이렇게 함 해보세요 Bin폴더에 Delphi32.dsk가 있습니다 이놈을 지우고 해보셔요
    • 미러
    • 2002.08.02 18:38
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이준해
      2002.08.03 01:56
      pagefooter 와 묶이는 GroupBand 를 사용하셨나요 ? 사용하셨으면. 그 GroupBand 의 ForceNewPage 를 True...
    • 오병주
      2002.08.02 18:55
      지송합니다...^^:; 소스를 한번 올려보세요..^^;;
    • 미러
      2002.08.02 18:58
      summary는 인쇄물 제일 마지막에  나오는거 아닌가요? 전 그렇게 알고 있는데.. 제가 하고 싶...
    • 오병주
      2002.08.02 19:38
    • 미소나눔
      2002.08.02 11:21
      var   Ary : array[1..5, 1..5] of integer;     즐푸..~
    • cell
    • 2002.08.02 09:42
    • 6 COMMENTS
    • /
    • 0 LIKES
    • cell
      2002.08.03 01:52
      많은 분들이 도와주셨네요... 감사합니다. 다음주부터 코딩이라 그때 해봐야 되겠네요...
    • 김경록
      2002.08.02 19:12
      이건 별로 어려운건 아닙니다. 일단, 컴포넌트 Database1, Database2를 폼에 두고, 해당 컴포넌트에 님...
    • 머슴
      2002.08.02 18:26
        서버가 다른경우에..DATABASE LINK 라는것으로 해결을 보셔야 합니다.   네트워...
    • 이추형
      2002.08.02 18:44
      오라클 클라이언트 설치된 디렉토리에서 TNSNAMES.ORA라는 파일을 수정해 주셔야합니다. sample.WORLD ...
    • 머슴
      2002.08.02 19:26
      오라클 클라이언트 설치된 디렉토리에서 TNSNAMES.ORA라는 파일을 수정안해줘도 될것 같은데요.. 왜냐하...
    • 미소나눔
      2002.08.02 11:26
      저도 몰라서 물어봤는데 SQL Server 는 OPENROWSET 를 사용해봐라 하는데용.. 오라클도 있을듯..
    • 델초보
    • 2002.08.02 08:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2002.08.02 09:20
      procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin     if Column.Field...
    • 문미령
    • 2002.08.02 08:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2002.08.02 18:56
      이렇게 봐서는 어디가 문제인지 잘모르겠군요... ^^; 코딩내용을 올려보세요..^^;
    • 김형수
    • 2002.08.02 05:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최여옥
      2002.08.02 22:16
      우선은 component 추가방법입니다. 1. component 메뉴을 누르고 install Component... 를 실행한다. 2. B...
    • 김경록
      2002.08.02 19:33
      QUERY에 대한 Tunning이 가능한지 여부를 먼저 묻고 싶습니다. 또한, Rollback Segment에서 자동을 Shrink...
    • KDDG_ZZOM
      2002.08.02 03:36
      맞는지는 모르지만... 템프러리 테이블스페이스가 오버 된것같네요... 쿼리할때 그룹함수나 오더바이하면 ...
    • 서계원
    • 2002.08.02 02:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김희경
    • 2002.08.02 02:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 신익철
    • 2002.08.02 02:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.02 12:04
      안녕하세요. 최용일입니다. 왜 좌측에 하실려구 하나요? 이러한 비표준 UI는 사용자들에게 별로 환영받...
    • 최용일
      2002.08.02 12:10
      안녕하세요. 최용일입니다. 델파이 버전에 따라서 있는거 있구 없는거 있을겁니다... 델파이 버전 확...
    • 델파이사랑
      2002.08.02 19:03
      델파이 버전 6 엔터프라이즈 입니다........쩝...... 원래 여기에 없는 건가여......update 팩 1, 2를 ...
    • 백재현
    • 2002.08.02 01:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2002.08.02 01:49
      예전에 최용일님이 올리신 글입니다. 안녕하세요. 최용일입니다. 검색해보시면 많이 나와 있는데....
    • 권영진
    • 2002.08.02 00:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2002.08.02 19:01
      글쎄여 ~ 스트링 그리드는 너무 다른 여러가지 표시를 하기에는 제약이 많구여... Advgrid6을 한번 ...
    • 수서니
    • 2002.08.02 00:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.08.02 00:36
        frmSelect.ZMqryClist.sql.Add(' CNAME LIKE :name ');   frmSelect.ZMqryClist.pa...
    • 박규형
      2002.08.03 04:55
      약간 틀린부분이 있어서 사족을 답니다... 'select * from customer where cname like ' + '%' + &...
    • 수서니
      2002.08.02 02:32
      디비 세팅중이라 아직 테스트는 못해봤지만 감사합니다요~
    • 미소나눔
      2002.08.02 09:26
      TDataSet 객체들은 DataSet.Open 했을 때 데이타베이스에 쿼리한 결과를 데이타버퍼에 저장합니다. 데이타...
    • 이인수
      2002.08.02 20:08
      안녕하세요 이인수입니다. 우선 답변해주신거 감사드립니다.. ^^: 그런데요... TDataSet이라구...