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

C++빌더 Q&A
C++Builder Programming Q&A
[17409] Re:C/S프로그래밍 개념에 대해서...
Falco [falco] 1386 읽음    2002-04-11 01:45
지난번에도 님께서 올리신 질문을 보긴 했는데...  저도 많이 사용 해 본것은 아니라서 어떻게 확신을 가지고 답변을 해 드리기가 자신이 없어서 답을 못했는데요..

연속해서 같은 질문을 하시는걸 보니 답변이 잘 나오지 않는것 같습니다.

그럼, 제 말이 확실한 것인지는 자신이 없으니 굳게 믿지 마시고 약간 참고만(^^;) 하신다는 전제하에서 글을 올려 보겠습니다.

일단 현재상황에서 제가 알고 있기로는 빌더나 델파이에서(저는 빌더로 했었습니다만) mySQL로 접속하는 방법은 ODBC를 통하는 방법과 native(TCP/IP)로 접속하는 방법 두가지가 있는걸로 알고 있습니다.

저는 리눅스 머신에 설치된 mySQL 서버에 native로 접속하는 방법만을 사용 해 보았고 ODBC의 방법은 사용 해 보질 못했습니다.

그럼, native에서의 경우에는 접속할 mySQL 서버가 있는 컴의 ip와 port 번호만 있으면 어느 컴퓨터에서나 접속이 가능합니다.  그러니까 님께서 말씀하신것처럼 접수원들에게 프로그램만 잘 만들어서 나누어 주면 별다른 문제가 없는한 ip와 port 번호만으로 mySQL 서버에 접속해서 데이터를 읽거나 저장할 수 있습니다. 여담입니다만, 설정에서 ip와 port 번호를 셋팅할 수 있게 해 놓으면 나중에 더 편하겠죠.. ^^;

이 부분까지는 크게 어려운거 없이 조금만 시간을 투자하시면 금방 가능합니다.

그런데, 지난번에 올리신 질문에는 DB의 내용이 바뀔때 자동으로 mySQL 서버에 연결되어 있는 각 접수원들의 화면에 데이터를 갱신 해 줄 수 있느냐고 물으신 걸로 기억이 되는데요..

실제 제가 답하기를 망설인 이유도 이 문제 때문입니다.

제가 워낙에 DB를 많이 다루어 보질 못해서 확실하지는 않지만, 대형 DB(오라클, mssql등)에서는 데이타 변경이 있을때 Notify 하는 기능이 있다고 들은 기억이 있긴 한데, 제가 알기로는 mySQL은 그런 기능이 없는 걸로 알고 있습니다.

그러니까 제가 알고 있는 것이 맞다면 갱신은 어쩔 수 없이 다른 방법(예를 들면 Timer를 돌려서 자료를 다시 불러 온다든지)을 사용할 수 밖에 없을 것 같습니다. 

데이터가 많아서 Timer를 돌려서 자료를 다시 불러오는게 힘들어 지거나 자료 갱신이 있을 때 즉각적인 작업이 필요하다 하는 경우에는 mySQL 이 있는 컴퓨터에 메신저 서버처럼 따로 서버를 하나 더 만들어서 Client가 자료 갱신을 할때 이 서버에도 메세지를 날려주고 다시 서버는 접속되어 있는 모든 Client에 자료를 날려주면 꽁수지만 어느 정도는 해결할 수 있지 않을까 합니다.

그냥 제 생각입니다요~~

아~~ 빌더 개발자 문서 인쇄 신청하는 게시판에 의견 남기기가 안돼서 화가 나서 술을 한잔 했더니 알딸딸 하네요... (핑계도 좋아~~ :D)

행운을 빕니다.

창아니 님이 쓰신 글 :
: 게시판에 질문 올렸는데 답이 없길래 다시 올립니다.
:
: 제가 생각하고 있는 것이 맞는 것인지 몰라서요..
:
: 컴퓨터 네 대를 물려서 사용하는 환경이라 가정을 하구요...
: 한 대는 리눅스 깔고서 mySQL을 설치 합니다.
: 두 대는 윈98 깔고서 빌더로 개발한 클라이언트 프로그램을 실행합니다.
: 이 때 이 컴터는 오더 접수만 담당 합니다.
:
: 나머지 한 대는 두 대의 컴터를 통해서 mySQL에 저장되어지(접수 받은)
: 데이타를 모니터 상에서 확인하면서 각각의 일을 처리 합니다.
:
: 제가 ADO를 통해서 mySQL측에 있는 - 윈도에 설치 - 데이타를
: 볼 수는 있었습니다. 결국 빌더에서 mySQL을 디비로 쓰는 것은 문제가
: 없는 것 같습니다.
:
: 문제는 업무용 프로그램을 개발할 때 로컬에서 개발하듯이 mySQL이 있는
: 컴터의 IP를 통해서 연결하는 방식으로 짰다면, 그 프로그램을
: 접수용 컴터에 깔고서 쓸 때 접수원이 프로그램을 통해서
: 입력하는 데이타들이 제대로 mySQL에 쌓일까요?
:
: 마찬가지로 나머지 한 사람의 모니터에 그렇게 저장 된
: 데이타들이 잘 나타나줄까요?
:
: 전 C/S 프로그램 경험은 없습니다. 단지 퍼스널 오라클가지고
: 로컬로 쓰는 것만 해봤는데...제가 알기로는 아무래도 이런 식으로
: 클라이언트 측 프로그램만 작성하면 안될 것 같은데...
: 되기만 한다면야 작업이 아주 쉬워질 것 같긴한데요...
:
: 부디 제 이런 생각이 구현 가능한 것인지, 아니면 서버측 프로그램을
: 별도로 만들어서 mySQL과 클라이언트 사이의 통신을 중재하게 해야 하는지
: 아시는 분 답변 좀 부탁드립니다요...

+ -

관련 글 리스트
17403 C/S프로그래밍 개념에 대해서... 창아니 955 2002/04/10
17409     Re:C/S프로그래밍 개념에 대해서... Falco 1386 2002/04/11
17428         Re:좋은 참고가 되었습니다....감사(냉무) 창아니 792 2002/04/11
17407     Re:C/S프로그래밍 개념에 대해서... turbocpp 993 2002/04/11
17412         Re:답변 감사합니다...(냉무) 창아니 749 2002/04/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.