Q&A

  • 네트워크 파라독스....
현재 파라독스 테이블을 이용해 프로그램을 구성하고 있습니다...
알리아스와 처음 시작하는 메인에 특정 변수를 두어 컴퓨터마다 변수값이
틀려지게 해서 네트워크 프로그램처럼 사용하고 있습니다...
지금까지는 2대정도 연결해서 동일한 작업도 해보고 이런 저런 테스트도
해본 결과 별다른 이상은 없는 것 같습니다...
이것을 클라이언트가 한 10대 정도 되는 곳에 적용하려고 합니다..
조금 불안한것은 한 4대정도가 동일한 작업을 몇시간동안 정신없이 진행한다는 것입니다...
즉 업무진행상 전표입력작업을 4대에서 거의 동시에 발생시킵니다...
이런 경우 무슨 문제되는 사항은 없을 런지요...

경험이 있는 여러분에 지도를 부탁드립니다...

또하나, 2대 연결해서 테스트 해보니 데이터가 있는 컴퓨터에서는 검색해서 loading하는 속도가 꽤나 빠르던데 연결된 컴에서는 그 속도가 엄청나게 느립니다... 대충 보니 약 5배정도 차이가 나는것 같던데요...
허브는 더미허브를 사용했습니다...
그런데 데이터량이 많지 않은 경우는 별로 속도차를 못느끼겠구요...
검색이 늦어진 데이터는 약 20,000개정도 레코드가 쌓여 있습니다..
물론 쿼리로 검색을 했구요...
원인좀 알려 주시겠습니까...
5  COMMENTS
  • Profile
    장태원 2002.08.07 04:58
    우선 여러 컴퓨터에서 파라닥스를 사용한다는것에 문제가 있습니다.
    파라닥스는 어떤 프로세스에 의해 열리면..락이 걸립니다.
    다른 컴퓨터 또는 다른 프로세스에 의해 작업을 할 수가 없습니다.
    하나의 파라닥스에 여러대가 물려서 진행을 한다는것은 무척이나.위험합니다.
    테이블 에러가 팍팍 뜰 확률이 높죠.
    그리고..네트워크로 파라닥스를 연다는것은.. 파라닥스 자체에 provider 가
    없기 때문에 bde alias 로 연결 하는것 보다는 dsn 으로 연결하는것이 더 수월할수 있습니다.
    또 네트워크에서 쿼리 결과는 당연히 느리죠.
    2만건 정도의 데이타라면..꽤나 불안하군요.
    차라리 access 를 써보심이...어떠신지.
    access 는 database 구조를 비스무리하게 사용할수 있으므로..
    더 안전할 수 있습니다.



  • Profile
    한주영 2002.08.07 20:15
    사용방식에 따라 다릅니다.

    랜서버처럼 파일공유방식으로 하면 파라독스의 락방식때문에 문제가 생길수 있지만 소켓과 같은 방식을 사용하는 CS방식에서 파라독스를 사용하면 문제가 없습니다.

    간단히 랜서버방식에서 문제가 생기는 원인을 적겠습니다. 파라독스는 기본적으로 테이블락을 사용합니다. 그런데 많은 사용자들이 파라독스를 사용할때 TTable을 사용하여 공유를 합니다. 여기서 문제가 발생할수 밖에 없습니다.
    TTable방식은 DBMS에서는 사용하지 않는 Flat파일 방식입니다.

    그러므로 개념을 바꾸어 DBMS방식으로 SQL을 날려 테이블을 가져오고 SQL을 날려서 데이타를 변경하고 갱신하면 웬만한 사용자는 충분히 커버할 수 있습니다. 중소용량의 데이타갯수(대략 수십만개는 충분히 커버한다고 합니다.)에서는 다른 어떤 데이타베이스보다 빠른 것이 파라독스 테이블입니다.

    MDB는 다중사용자용으로 사용하거나 데이타의 갯수가 1만개만 넘어서도 버벅댄다는 보고가 많습니다.


  • Profile
    김용일 2002.08.07 06:03
    송구스런 말씀이지만 너무 어처구니 없는 답을 하셨군요.
    파라독스 테이블이 기본적으로 데스크탑 버전이어서 여러가지 문제점이 있는 건 사실입니다.  그렇다고 네트웍 버전을 개발하지 못하는 것은 아닙니다.
    TSession과 TDatabase 컴포넌트를 적절히 사용하면 C/S 프로그램을 구현하는데 전혀 문제가 없습니다.

    또한 여러대의 PC에서 동시에 같은 작업을 하더라도 키 값 충돌없이 모두 정상적으로 처리 됩니다.

    TSession 컴포넌트와 TDatabase 컴포넌트, 그리고 TQuery 컴포넌트에 대한 사항을 참조하시면 좋은 결과를 얻으실 수 있습니다.  구체적인 사용법은 별도로 안내를 드리겠습니다만  답변 하신 내용에는 상당한 문제가 있음을 지적하고 싶군요.

  • Profile
    이승근 2002.08.07 18:53
    정말 감사합니다...  그런데요....
    책에 보면 tsession과 tdatabase는 사용자가 지정해주지 않더래도 delphi에서 컴파일시 자동 생성시켜 작동하게 해준다고 하더군여...
    그 방법 말고 사용자가 직접 컨트롤 해야하는 사항도 있는지요..
    그리고 현재 대부분 쿼리를 사용해 입력도 하고 수정, 삭제, 조회등 거의 모든 작업을 진행하고 있거든요...
    이럴때 쿼리에서 좀더 신경써야 하는 부분이 있는지요...

    말씀하신 구체적인 사용법을 알려주신다면 너무너무 감사할것 같아요...
    솔직히 저 지금 무척이나 막막하거던여...

    그럼 꼭 부탁드립니다요...^^
  • Profile
    박성훈 2002.08.10 09:17


    안녕하세요?
    파라독스. 혼자쓰기에는 꽤 괜찮은 DB라고 생각합니다. 저두 님처럼
    네트워크로 파라독스를 써봤는데 (소켙을 이용해서두 해보구요) 그런대루
    쓸 수 있기는 하지만 골머리가 아프더군요. 계속 파라독스를 쓰셔야하는 경우라면 어쩔 수 없지만 가능하다면... 다른 DB를 선택하시는 것이 나중에
    좀 더 편한 방법이 아닐까 생각해 봅니다.

    다른 DB를 고려하신다면 mdb, mysql, interbase 등이 후보겠죠.(물론 공짜여야 할테니까요.)
    저의 경우는 mdb는 거의 안쓰구요. mysql, interbase로는 플그램을 만들었습니다. 제가 머 잘 아는거는 아닌데요. 써본 결과로는 interbase를 권해드리고 싶습니다. 델파이 설치할 때 같이 깔리는 interbase는 유저 제한이 있으니까
    오픈소스로 된 것을 다운받으면 되구요.
    mysql은 멀티유저로 사용하기에 무리는 없는데 트랜잭션 처리를 꼭 해야하는 상황에서는 아주 쥐약입니다.(아직 제대루 지원을 못합니다.)
    글구 윈도우버전은 정전되면 거의 테이블이 깨집니다. 복구도 100%되는 것은 아니구요. 대신 사용하기가 인터베이스보다는 조금 쉬운 듯합니다.

    제 말이 전적으로 맞는 것은 아니구요. 그냥 참고하셨으면 합니다.
    암튼 멋진 플그램 완성하세요.
    • 정동문
    • 2002.08.07 01:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치원
      2002.08.07 23:10
      저도 이에러땜시 들어왓는데........이궁 어쩐다.....도와주세요
    • 김진태
    • 2002.08.07 01:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.08.07 02:00
      저 같으면 고민하지 않고 Message Dialog용 Form을 만들어 사용하겠습니다. 메시지 박스처럼 똑같이 만...
    • 문미령
    • 2002.08.06 23:41
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이창환
      2002.08.07 20:17
      혹시 합계를 위해서 변수값을 사용하였다면.. Quickreport의 BeforePrint에서 그 값을 Clear해 주어야 해...
    • 어이구
      2002.08.07 02:18
      혹시 합계를 낼때 QRExpr 컴포넌트를 사용하시나요? 만약 사용하신다면 QRExpr1.ResetAfterPrint &nb...
    • 문미령
      2002.08.07 04:01
      합계 코딩을 퀵리포트에서 했더니 프리뷰할때 한번, 프린트할때 한번, 이렇게 두번을 계산하는거 같아...
    • 이현철
      2002.08.07 04:08
      다이어그램을 쉽게 그릴수 있는 컴포는 저도 본적이 없는것 같습니다.. 간단한 거라면,,, 일일히 그리...
    • 이민수
      2002.08.07 00:44
      이쁘게 보이는 조직도... 써보지는 않았는데 TeeChart 만든데서 제작한 TeeTree라는거 일단 보기에는 깔...
    • 박봉기
      2002.08.07 19:43
    • 이승근
    • 2002.08.06 20:00
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.08.07 04:58
      우선 여러 컴퓨터에서 파라닥스를 사용한다는것에 문제가 있습니다. 파라닥스는 어떤 프로세스에 의해 열...
    • 한주영
      2002.08.07 20:15
      사용방식에 따라 다릅니다. 랜서버처럼 파일공유방식으로 하면 파라독스의 락방식때문에 문제가 생길수 ...
    • 김용일
      2002.08.07 06:03
      송구스런 말씀이지만 너무 어처구니 없는 답을 하셨군요. 파라독스 테이블이 기본적으로 데스크탑 버전이...
    • 이승근
      2002.08.07 18:53
      정말 감사합니다...  그런데요.... 책에 보면 tsession과 tdatabase는 사용자가 지정해주지 않...
    • 박성훈
      2002.08.10 09:17
      안녕하세요? 파라독스. 혼자쓰기에는 꽤 괜찮은 DB라고 생각합니다. 저두 님처럼 네트워크로 파라독...
    • byun
    • 2002.08.06 19:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.06 21:19
      안녕하세요. 최용일입니다. 클래스 이름은 델파이의 WinSight나 MS툴의 SPY++를 이용하시면 아실 수 있...
    • 최용일
      2002.08.06 21:14
      안녕하세요. 최용일입니다. 흠~ 이 코딩이 어디에 있는지요? 아이템 넣기전에 폰트 색깔을 바꾸어 준...
    • 정용광
      2002.08.06 23:19
      감사합니다. 아주 간단하게 처리되는 군요... 그런데 저는 OwnerDraw 속성을 False로 처리해야 되는군...
    • 최용일
      2002.08.06 23:32
      OwnerDraw를 False로 하면 방법이 없을거 같네요...
    • 정용광
      2002.08.07 03:56
      그런데 OwnerDraw를 True로 하면 값이 나오질 않는데.. 어떻게 처리해야 하지요... 혹시 모르니 비활성 ...
    • 최용일
      2002.08.07 05:07
      안녕하세요. 최용일입니다. 아래코드를 참조하셔서 직접 원하시는 색으로 그려주세요... procedure T...
    • byun
    • 2002.08.06 19:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 장덕곤
    • 2002.08.06 18:38
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 남구만
    • 2002.08.06 18:27
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 백수현
      2002.08.06 18:46
      animate1.play(1,200,1);   //시작프레임,끝프레임,반복회수 라벨변하게 하구.. Animate1.play...
    • 남구만
      2002.08.06 21:52
      먼저 답변 감사드립니다. 근데 라벨이 두개가 아니구 한개거던요..그리고 버튼도 하나구요. 프레임수에 ...
    • 미소나눔
      2002.08.07 10:08
      . . . . .   public     FrameNo : integer;   end; . . ....
    • 남구만
      2002.08.07 12:43
      철락아...ㅋㅋㅋ 고맙다...근데 이건 아니당....*^^* 그래도 햄이라고 신경써주니깐...진짜 거맙구. ...
    • 최용일
      2002.08.06 19:36
      안녕하세요. 최용일입니다. 델파이에서 패스설정하는건  DelphiPathProjectBpl밖에 없습니다....
    • 박희경
      2002.08.06 23:56
      답변 감사드립니다. 그런데 패스를 rxunits 패스도 추가를 했는데 'gauges.dcu' 거 없다고 에러가나면서 ...
    • 최용일
      2002.08.07 00:27
      gauges.dcu이거 델파이 표준유닛아닌가요? 맞을건데... 쩝~ 이건 델파이의 Lib폴더에 있습니다. 특별히 ...
    • 박회연
    • 2002.08.06 17:22
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이민선
    • 2002.08.06 14:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.08.06 18:33
      글쎄요. 델5용 컴포넌트를 델6에서 사용하는 것은 거의 불가능합니다. 소스가 제공되는 것이라면, 델6...
    • 김소희
    • 2002.08.06 09:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.06 19:41
      안녕하세요. 최용일입니다. 델파이는 C/C++과는 달리 Object Pascal언어를 씁니다. 요즘은 그냥 델파이...
    • nilriri™
      2002.08.06 18:15
      문자열 몇자리로 했는지 모르겠네요..^^; 소트하실때 문제가 된다면 order by convert(number, no)라...
    • 공문선
    • 2002.08.06 07:31
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 박상기
      2002.08.06 09:25
      MemoryStatus를 안쓰고 굳이 MemoryStatusEx를 쓰시고자 하는 이유가 있어요?
    • 공문선
      2002.08.06 18:53
      굳이 MemoryStatusEx를 사용할려고 하는 이유는 메모리가 4G 이상일경우 MemoryStatus가 인식을 못한다...
    • 홍성락
      2002.08.06 19:20
      hsr///////////////////////////////////////////////////////////// 그럼 이렇게 써보세요....... unit ...
    • 공문선
      2002.08.07 02:50
      정말 고맙습니다.. 제가 사용하는건 델파이5.0인데..에러메시지가 [Fatar Error] Variants.dcu not fo...
    • 홍성락
      2002.08.07 03:42
      hsr///////////////////////////////////////////////////// 참조가 되셨다니 다행입니다. 저도 잘 모...
    • 홍성락
      2002.08.06 08:29
      hsr///////////////////////////////////////////////////////// GlobalMemoryStatus이 함수를 사용해보시...
    • 김민수
    • 2002.08.06 06:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이현철
      2002.08.07 03:51
      웹에서 동작될 activex를 제작하시면 될 것 같습니다.. activex에서는 db에 접속해서 주기적으로 데이터를...
    • nilriri™
    • 2002.08.06 06:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2002.08.06 07:49
      procedure TForm1.Timer1Timer(Sender: TObject); var         ...