Q&A

  • 하나의 테이블을 여러곳에서 사용하려고 하는데..?
안녕하세요.. 델파이를 사랑하는 여러분...



다름이 아니라 하나의 테이블을 10개의 타이머가 동시에 접근하여 자료를 검색하는 프로그램을 작성하고 있는데 동시에 검색을 하지 않을때에는 아무런 문제가 발생을 하지 않았는데 5개 정도가 동시에 처리하려면 이상한 자료가 검색이 되어집니다.



오라클의 경우에는 이런 동시검색이 가능하다고 하던데..

저는 파라독스를 사용하고 있습니다.



해결을 할려면 TTable을 10개다 만들어 놓고 각 타이머가 각각의 테이블을 검색해야 하나요?



해결방법이 있는 분은 좀알려주세요..?

TSession으로 가능한지요?



그럼, 즐거운 하루가 되세요...

2  COMMENTS
  • Profile
    임형호 2000.03.12 01:59
    박대규 wrote:

    > 안녕하세요.. 델파이를 사랑하는 여러분...

    >

    > 다름이 아니라 하나의 테이블을 10개의 타이머가 동시에 접근하여 자료를 검색하는 프로그램을 작성하고 있는데 동시에 검색을 하지 않을때에는 아무런 문제가 발생을 하지 않았는데 5개 정도가 동시에 처리하려면 이상한 자료가 검색이 되어집니다.

    >

    > 오라클의 경우에는 이런 동시검색이 가능하다고 하던데..

    > 저는 파라독스를 사용하고 있습니다.

    >

    > 해결을 할려면 TTable을 10개다 만들어 놓고 각 타이머가 각각의 테이블을 검색해야 하나요?

    >

    > 해결방법이 있는 분은 좀알려주세요..?

    > TSession으로 가능한지요?

    >

    > 그럼, 즐거운 하루가 되세요...



    음... 어디에서 보면 파라독스가 다중사용자를 지원한다고 쓰여있던것 같던데.... 글쎄요. 제가 전에 학교선배님들과 테스트를 해본결과로는 별루 탐탁지가 않았습니다. 물론 사용시스템이나 환경에 따라 다를수도 있겠지만 암튼 그때 저희는 3명이 동시에 접근해서 입력, 수정, 삭제를 해봤는데 결과는 좋지 않았던걸로 알고있습니다. 검색만 한다면 그건 잘 모르겠군요. 파라독스를 여러곳에서 동시접근해서 사용하는데 이상이 없는 방법이 있다면 저두 배우고 싶군요.

  • Profile
    박성훈 2000.03.12 01:54
    박대규 wrote:

    > 안녕하세요.. 델파이를 사랑하는 여러분...

    >

    > 다름이 아니라 하나의 테이블을 10개의 타이머가 동시에 접근하여 자료를 검색하는 프로그램을 작성하고 있는데 동시에 검색을 하지 않을때에는 아무런 문제가 발생을 하지 않았는데 5개 정도가 동시에 처리하려면 이상한 자료가 검색이 되어집니다.

    >

    > 오라클의 경우에는 이런 동시검색이 가능하다고 하던데..

    > 저는 파라독스를 사용하고 있습니다.

    >

    > 해결을 할려면 TTable을 10개다 만들어 놓고 각 타이머가 각각의 테이블을 검색해야 하나요?

    >

    > 해결방법이 있는 분은 좀알려주세요..?

    > TSession으로 가능한지요?

    >

    > 그럼, 즐거운 하루가 되세요...





    저도 파라독스를 주로 사용하는데 db공유문제로 애를 먹었습니다. 성공하긴 했는데,

    왠지 불안한 감을 떨쳐버릴 수 없다는 것이 제 느낌입니다.



    파라독스를 멀티유저환경에서 사용하시는 방법은



    1. BDE Administrator를 실행하신 후

    Configration 탭페이지의 Sytem-INIT의 Local Share항목을 True로 해 주십시오.



    2. 다음 같은 탭페이지의 Driver-Native-Pardox에서 Netdir항목에 공유할 db들이 있는

    디렉토리를 지정해주시면 됩니다.

    (저의 경우 World1c폴더가 T:로 설정되어 있고, NetDir은 T:data로 설정되어 있습니다.)

    변경된 내용을 저장하시구요.



    3. 델파이에서 프로그래밍할 때는 TTable이나 TQuery중에서 공유db를 사용할 컴포넌트의

    DatabaseName을 2번에서 지정할 NetDir로 설정해 주시면 됩니다. 참고로 유명하신 분(이름을 기억이 나질 않는데)의 말씀으로는 NetDir이 되는 경로를 Alias로 설정해 놓고 사용하는 것이 좋다고 하시더군요.

    그리고 제가 테스트 해 본 결과 TSession은 안써도 상관이 없더군요. 모서적에는

    TSession을 사용할 경우 네트워크에 부하가 많이 걸린다는 나와 있습니다.

    굳이 쓰시겠다면 TSession의 NetDir속성을 2번에서 설정한 NetDir과 같게 해주십시오. 그리고 Private Dir속성은 안 건드리시는게 편할 겁니다. SessionName은 적당히 주시구요.

    TSession을 쓰셨을 경우는 공유db를 사용하는 TTable이나 TQuery의 SessionName을

    TSession의 SessionName과 같게 주시길 바랍니다. 물론 TSession을 사용하지 않는다면 TDataset의 SessionName은 비워두시면 됩니다.



    4. 이렇게 공유환경을 만들어 놓고 쓴다고 해서 이쪽에서 갱신한 정보가 바로 바로 상대방 쪽에도 그대로 보여지는 것이 아닙니다. Refresh를 해주거나 db를 닫았다 열거나 해주어야 합니다. 이 부분에 대한 처리땜에 고심인데, 어떤 분께서(역시 기억이 안남. 제가 db공유하는데 도움이 많이 되신 분)는 주기적인 Refresh를 하는데 Socket을 이용하신다고 했습니다. 주로 업무가 조회위주라면 Socket을 쓰셔서 db에 저장한 직후 상대방에게(서버쪽이 되는 경우는 모든 클라이언트들에게) 저장했다는 메세지를 날려주시면

    받는 쪽에서 Refresh를 하시면 되겠죠. 그러면 Timer를 굳이 쓰지 않아도 될 겁니다.

    저장했다는 메세지를 '#SAVE#'+저장한 DB의 이름 이런 식으로 날려주시면 상대방에서 해당 DB만 REFRESH하면 될 것 같군요.



    이건 제 경험으로 그냥 참고사항인데(아시는 내용이면 지나가시구요)

    Socket을 쓸 때 메인폼에 Socket 컴포넌트를 올려놓고 ShowModal폼을 띄운 후에 상대방에서 오는 메세지를 처리하려고 했더니 제대로 처리하지 못하더군요.



    조금이라도 도움이 되시면 좋겠습니다.



































    • 최용일
      2000.03.13 08:53
      다음과 같은 형식으로 폼의 OnCreate이벤트를 작성하시면 됩니다. cnt에 대한 자세한 설명이 없어서 제가 ...
    • 강민주
    • 2000.03.13 05:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.13 08:03
      안녕하세요... 델파이 날짜관련함수에 다음달의 날짜를 구할수 있는 IncMonth라는 함수가 있습니다. 년도...
    • jack
    • 2000.03.13 03:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.13 09:51
      이미지 에디터는 델파이에 딸린 걸 말하는거 맞나요? 이미지에디터는 포준 리소스타입중 단지 비트맵,아이...
    • 정호원
    • 2000.03.13 02:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2000.03.13 09:57
      질문의 요지가 뭡니까? 도대체 알 수가 없군요... "... 프로그램을 만들려고 합니다. ... 만드는 작업...
    • 소심남
    • 2000.03.12 23:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.13 00:57
      오늘날짜(Now함수로 구함, Sysutil에 있슴)에서 생일(문저열을 TDate형태로 StrToDate함수를 이용하여 바...
    • 지뇽이
    • 2000.03.12 12:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김종섭
      2000.03.14 09:38
      지뇽이 wrote: > 왕 초보임다 ㅡ,,ㅡ > 인터베이스에서 스토어드 프로시져의 입력 삭제 수정을 알고 싶습...
    • 지뇽이
      2000.03.15 08:35
      김종섭 wrote: > 지뇽이 wrote: > > 왕 초보임다 ㅡ,,ㅡ > > 인터베이스에서 스토어드 프로시져의 입력 ...
    • 김필립
    • 2000.03.12 10:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장은석
      2000.03.12 13:47
      김필립 wrote: > 안녕하세요. 1주일 전에 델파이를 시작한 왕초보입니다. > 저는 책을 가지고 공부를 ...
    • 최용일
      2000.03.12 12:06
      델피언이 되신걸 축하합니다... 헐... 어떻게 얘기해야할지... 문법은 델파이에서 정해놓은 규칙들입니...
    • 조씨
    • 2000.03.12 09:04
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.12 05:31
      레지스트리에 등록하는 방법과 탐색기의 폴더옵션을 이용하는 방법이 있습니다. 어차피 두가지 다 같은 일...
    • 장은석
      2000.03.12 03:11
      박성훈 wrote: > 탐색기에서 해당파일을 더블클릭하면 관련프로그램이 실행되면서 해당파일이 자동으로 >...
    • 박성훈
    • 2000.03.12 02:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.06.16 02:00
      아래의 조절점제어 컨트롤을 사용하세요... 조절점을 제어하고 싶은 시점에서 TControlSizer의 인스턴스를 ...
    • 박성훈
    • 2000.03.12 02:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2000.03.13 21:48
      copy 명령으로 화일의 복서는 가능합니다. 하지만 파라독스는 프로그램이 완전히 종료되기 전까지의 데이...
    • 장은석
      2000.03.12 03:19
      박성훈 wrote: > 델3에서 파라독스를 사용하고 있습니다. > 파라독스가 불편한게 좀 많더군요. > > 제...
    • hee
    • 2000.03.12 01:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장은석
      2000.03.12 03:05
      hee wrote: > 프로젝트를 열면 유닛 화일과 폼이 같이 뜨던데요 폼을 닫아 버리고 다시 열었는데 이제는 ...
    • 최종민
      2000.03.12 02:57
      어...이거 제가 답변 할 수 있을 거 같네요... 폼이 아예 안뜬다면... View - Forms를 누르면... 어떤 ...
    • 정종필
      2010.12.10 20:34
      다중모니터에서 폼을 열어서 작업하시다가.. 폼을 기본모니터가 아닌 위치에 가져가 놓고 프로젝트를 ...
    • 이수정
    • 2000.03.12 01:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2000.03.12 08:02
      켁.. 델파이로는 불가능하다...라는 말씀은.. 허허.. 델파이에서 불가능하다면 C++로도 불가능합니다. ^...
    • 바보
      2000.03.18 10:15
      UBS를 이용한 비디오 켑쳐 API AVICAP32.DLL를 통해서 contol하는데.. C:Program FilesCommon FilesBorl...
    • 최종민
    • 2000.03.12 01:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • htyou
      2000.03.13 19:06
      어떤식으로 프로그램을 구현하려고 하시는지는 잘모르겠습니다만 한번에 6000개의 데이터를 나타내려면 Te...
    • 최종민
      2000.03.13 22:42
      htyou wrote: > 어떤식으로 프로그램을 구현하려고 하시는지는 잘모르겠습니다만 > 한번에 6000개의 데이...
    • 박대규
    • 2000.03.12 01:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2000.03.12 01:59
      박대규 wrote: > 안녕하세요.. 델파이를 사랑하는 여러분... > > 다름이 아니라 하나의 테이블을 10개...
    • 박성훈
      2000.03.12 01:54
      박대규 wrote: > 안녕하세요.. 델파이를 사랑하는 여러분... > > 다름이 아니라 하나의 테이블을 10개...
    • 최명관
    • 2000.03.12 00:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • bluesky
      2000.03.12 06:31
      최명관 wrote: > * 사용환경 : 델파이4 와 WINDOWS NT4.0을 사용하고 있습니다. > > 전화 대 전화로 1...
    • 최일성
    • 2000.03.11 23:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2000.03.12 02:04
      최일성 wrote: > 안녕하세여! > 이제 델파이를 배우기시작한 사람인데여 > 레코드를 계산하려면 어케해...