Q&A

  • 이기종 쿼리, inner join, view의 자체구현에 대해
* 사용환경 : 델파이5 영문판/ Windows 2000 server



지금까지 프로그램 환경은 nt4.0 service pack 6 에 mssql7.0 환경 이었습니다. 자체써버이니 만큼 써버에 대한 모든 권한을 가지고 있었고 필요한 것은 얼마든지 view를 만들어 쓰면 되었기에 문제가 없었습니다.

그런데 얼마전 패키지 프로그램을 사용하면서 그 회사에서 제공된 오라클 써버를 추가해 사용해야 했습니다. 오라클 써버에 대해서는 테이블에 대한 읽는 권한밖에 주어지지 않았습니다. 또 오라클 써버에서 처리된 데이타와 현재 쓰고있는 mssql7.0 server에 있는 기본 자료를 inner join 시키는 이기종 쿼리의 방법을 사용해야 됩니다. 또 오라클 써버에 대해서는 읽는 권한이 없으므로 여러가지 join을 델파이 자체적으로 구현해야 됩니다. 그런데 이 세가지 모두 델파이에서의 해결점을 찾지 못했습니다. 듣는 예기로는 memory table이라는 컴포넌트를 사용하면 어느정도 view의 자체구현이 가능하다고 하는데 이것을 사용한다고 하더라도 여러가지 join을 그대로 사용할 수 있을지의 여부도 불투명 합니다.

델파이를 처음 만들때 기본 컨셉이

tile.caption = 'TEST Program'

이라는 형식이었었다고 합니다. 이것은 그당시 최신시법의 개념이었다고 합니다.

그러면

var

db as database;

rs as recordset;

cnn as connection;

Qry1, Qry2, Qry3 as querydef;



begin

set cnn = ('project, user, password',server);

set db.open('kibondb',dinaset);

rs = db.recordset;

Qry1 = ('select * from cust',rs);

Qry2 = ('select * from cust_reg',rs);

Qry3 = ('select * from inner join ' & Qry1 &

' on '& Qry1.custid & ' = ' & Qry2.custid ' ) ';

end;



위와같은 개념을 시도해 볼수 있지 않을까요?

물론 아시는 분들은 위의 코딩이 VB의 것임을 알아차릴 것입니다.

또 기억이 잘 나지 않아서 정확히는 적지 못해 틀린 부분도 있습니다.

그러나 개념적으로는 위와같은 코딩의 개념이 델파이에서 쉽게 이루어 졌으면 하는 마음이 간절 합니다. 아직까지는 델파이 어딘가에 이를 해결할 수 있는 기법이 있다고 믿고 싶지만 이것이 어느누가 만든 컴포넌트 형태로 따로 배포되어 지는 것이 아니라 델파이를 만든 볼랜드사에서 직접 제공하는 내장 컴포넌트나 프로그램 기능으로 제공되어졌으면 하는 마음이 더 간절 합니다.

저는 아직 델파이에서 위의 기능을 찾지 못했기에 위와같은 넉두리같은 코딩을 몇자 적어 보았습니다. 델파이를 이제 조금은 써 봐서 편한줄은 알게 되었습니다. 그런데 막상 위의 3가지 기능 즉

1. 상이한 써버를 묶는 이기종 쿼리

2. 자체 querydef을 사용한 view의 자체구현

3. 여러가지 join을 자체적으로 구현하는것

을 델파이에서 하려고 하다 보니 현재로서는 막막하기만 합니다.

이에대한 해답을 가지신 고수님 분들께서 이제 막 델파이의 맛을 알아가는 델파이 초보를 위해 도움을 주시기를 기대합니다.



이글을 읽는 모든 분들에게 항상 건강과 평안이 임하기를 바랍니다.

감사합니다.

0  COMMENTS
    • 2001.07.27 03:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.07.27 07:46
      안녕하세요. 최용일입니다. 비베는 안 써봐서 잘모르는데... 아마도 비베인스톨시디에 라이센스등록...
    • 2001.07.27 19:04
      reg 파일이란 파일은 다등록해도 안되거든여.... 아주 급한건데 다시 한번만... 최용일 wrote: > 안...
    • 최용일
      2001.07.28 02:40
      데브피아에 TMSFlexGrid의 라이센스 파일이 어떤것인지 물어보세요. 거긴 VS동호회니까요... 나 wrot...
    • xxx
    • 2001.07.27 02:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 나무..
      2001.07.27 02:22
      Edit라면 직접 지워줘야죠.. Edit는 DB랑 상관 없는 컴포넌트니까.. 항상 어떤 이벤트든 reset해줘야 ...
    • 나무..
      2001.07.27 02:30
      님이 말쌈하시는 게 정확히 어떤 부분인지 이해가 안가는디 ㅜㅜ; > 폼하나가 사라졌어요... > 분명 ...
    • 모르는파이
      2001.07.27 03:03
      나무님 먼저 답변해줘서 감사합니당.. 근데 저기 나무님께서 말씀하신 두번째 경우같거든요..빼먹고 저장...
    • 나무..
      2001.07.27 11:49
      델파이를 저장할때 생기는 파일 기억 하시나 모르겠네요? .dpk : 프로젝트 파일, 유닛을 포함하고 있는 ...
    • 이추형
      2001.07.27 02:33
      SQL문상에 에러가 있습니다. MDB를 붙여 쓸때와 오라클은 틀리죠.. 대강보니 ROWID를 어쩌구저쩌구 하신...
    • ^^
      2001.07.27 02:31
      하나의 레코드가 수정된 이후에는 commit등의 transaction이 발생되어야 겠죠? 그래야 그 수정값이 반영될...
    • 노력중인 초보
      2001.07.27 05:48
      ^^ wrote: > 하나의 레코드가 수정된 이후에는 commit등의 transaction이 발생되어야 겠죠? > 그래야 그 ...
    • bluesky
    • 2001.07.26 23:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 나무..
      2001.07.27 02:42
      방법이야 있죠. 한글의 경우 한글에 대한 SDK 사용 설명이 인스톨 CD에 있습니다. 전에 그거 갖구 해봤던 ...
    • 구창민
      2001.07.27 00:22
      어디를 더블클릭 하셨다는 건가여? 탐색기의 파일을 더블클릭하셨다는 건가여? 아니면 이미 실행된 ...
    • 이기주
      2001.07.27 02:55
      . 탐색기의 파일을 더블클릭할 수도 있고 바탕화면에 있는 파일을 더블클릭할 수도 있습니다. 아...
    • 나무..
      2001.07.27 09:54
      님이 말씀하시는건 탐색기는 잘 모르겠지만 바탕화면의 경우 클릭되는 위치 값을 읽고 그 위치의 아이콘...
    • 장철진
    • 2001.07.26 21:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • aparadin
      2001.07.28 01:01
      장철진 wrote: > 안녕하세요! 언제나 질문만 하게 되는군요!!! > > 제목그대로 Query1.Refesh 사용시 ...
    • 장철진
      2001.07.28 02:38
      > > **************************************************************************0 > Refresh라면 무언...
    • 정성훈
      2001.07.26 22:19
      버즈 wrote: > 안녕하세요 > 다름이 아니라 > RX 라이브러리와 인디 콤포넌트를 깔았는데요 > 컴포넌트...
    • 곽효근
      2001.07.26 21:10
      안녕하세요~ Keydown이나 Keypress에서 눌린 키값을 검출하여 컨트롤키라면 어떤 특정플래그값을 tru...
    • 커피향기..
      2001.07.26 23:04
      곽효근 wrote: > 안녕하세요~ > > Keydown이나 Keypress에서 눌린 키값을 검출하여 컨트롤키라면 > ...
    • 까마귀
      2001.07.27 03:57
      커피향기.. wrote: > 곽효근 wrote: > > 안녕하세요~ > > > > Keydown이나 Keypress에서 눌린 키값을 ...
    • 곽효근
      2001.07.26 23:35
      ctrl = 17 shift = 16 상 = 38 하 = 40 좌 = 37 우 = 39 ESC = 27 이렇게 되구요~ 더 찾으시...
    • 커피향기..
      2001.07.27 01:05
      정말 감사합니다. 많은 도움이 될것 같네여..^^* 더우신데 몸 조심하시구요...... 즐코하세요
    • irookie
    • 2001.07.26 20:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 난나야
      2001.07.26 23:35
      irookie wrote: > MDIform 1개 > childform 2개( formChild1, formChild2 라 부르자! ) > 그냥 modalfor...
    • 곽효근
      2001.07.26 21:07
      안녕하세요~ 음.. Application개체를 어케하면 나올꺼 같은데 걍 무식한 방법으론 차일드폼...
    • 성더기
      2001.07.27 18:57
      델파이의 출력은 기본적으로 퀵리포트가 담당합니당 퀵리포트 탭에보면 qrgroup이라는 컴포넌트가 있습니...
    • 질문자
    • 2001.07.26 18:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김기완
      2001.07.27 22:58
      www.tiptech.net 에 들어가시면(회원가입) 파워강좌 delphi 에서 tip쪽을 보시면 (지금 접속이 않되 확인...
    • irookie
    • 2001.07.26 18:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델피언
      2001.07.26 18:47
      irookie wrote: > 컴퓨터가 2대 있습니다. 컴1, 컴2 > > paradox db가 컴1이 있습니다. 글쿠, 그 폴더...
    • 난나야
      2001.07.26 19:43
      이호림 wrote: > 안녕하세요. 이호림입니다. > > 프로그램 실행시 2개의 폼이 동시에 띄워지고 첫번째...
    • 홍성락
      2001.07.26 19:43
      제가 하는 방법중 2가지가 있습니다. 1.메뉴 Project/Options...에서 auto_create forms에 등록후 해당...