Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[2879] [답변] SSK0521/ [델파이] 아래의 DB공유의 문의에 이어서..
나우시스 [ ] 1352 읽음    1998-05-20 06:04

파라독스는 pdoxuser.net 인가 하는 파일이 있습니다. 잘은 몰라도 테이블을
사용할때 locking에 대한 정보를 가지고 있는 파일일겁니다.

자 a,b,c 라는 피시가 랜으로 물려있고, a 에 사용할 테이블이 있다고 가정
합니다. b,c에서는 a의 자료를 공유해야 하는데, 읽고 쓸때 locking에 대한
정보를 가지고 있는 pdoxuser.net이 같은 파일 이어야 겠지요.

그러지 않으면 공유상에 문제가 발생할 여지가 많습니다.
제 경험으로는 단지 읽어올경우는 별 문제가 발생하지 않을수도 있습니다.
문제는 쓸경우 입니다.

이를 해결하기 위해서는 BDE ADMINISTRATOR 를 띄우고, CONFIGRATION에서
DRIVER의 PARADOX를 보시면, 우측에 NET DIR 라는 항목이 있습니다.
... 이 세개있는 버튼을 누르면, 디렉토리를 선택하게 되어있습니다.

여기서 a 의 pdoxuser.net이 있는 디렉토리를 선택해줍니다.
a 의 c:\에 있다면, a 는 c:\를 선택하고,
b 는 f:\를 선택하고, c도 f:\를 선택합니다. 이것은 b 에 a 의 c: 가
f: 라는 넷트웍드라이브로 설정되어 있다는 가정에서 설명한것입니다.

결론은 물리적으로 같은 pdoxuser.net를 모든 피시가 공유하게 하는 것
입니다.
그런데 이것도 문제가 있습니다. a 가 꺼져있거나 네트웍에 로긴하지
않았을 경우, b,c에서 파라독스를 쓸경우 뭔가 연결이 안되었거나
파일이 없다는 에러 메세지가 나올겁니다.

이러면 다른 목적으로 다른 테이블을 사용할경우, 즉 b 에서 내하드의
다른 테이블을 사용할 경우 문제가 생긴다는 겁니다.

이 문제를 해결할려면 Tssession 컴포넌트를 쓰면 될겁니다.
거기에 net dir 를 설정하는 프로퍼티가 있습니다. 어플리케이션에
하나 올려놓고 쓰면 되지 않을까 합니다. 물론 이렇게 말씀드리는것은
안해봤다는 말입니다.

다른 방법은 예전에 델파이 슈퍼페이지에 net dir 를 맞춰주는 컴포넌트가
있었던것을 기억합니다. 한번 가보셔도 될겁니다.

참고로 대용량의 데이타를 파라독스로 랜상에서 공유하는것은 자제하는게
좋다는게 써본사람들의 얘기입니다. 특히나 중요한 자료라면 더 그렇겠지요.

테이블구조가 그리 복잡하지 않다면, 또는 요구하는 업무내용이 비교적
단순하다면 clientDataset 을 써보는 것도 좋을겁니다. 남들 얘기는
multi tier 라든가? 뭐 그런데, 랜상에서 사용하지만, 테이블 공유가 아닌
방법으로 데이타를 공유할수 있습니다.
이방법은 하나의 어플리케이션이 하나의 테이블을 관리하므로, 테이블 공유
에서의 문제를 피해갈수 있다는 식으로 말들 하더군요.


+ -

관련 글 리스트
2879 [답변] SSK0521/ [델파이] 아래의 DB공유의 문의에 이어서.. 나우시스 1352 1998/05/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.