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

FireBird Q&A
[4374] Re:Re:Re:다중 사용자 설정 또는 접속 방법에 관련하여 문의 드립니다
샤프가이리키 [kimin122] 2968 읽음    2012-03-16 10:21
김경원 님이 쓰신 글 :
: 급한 마음에 질문을 올렸다가.. 지금 읽어 보니  두서 없이 적은 것 같습니다.
:
: 버젼은 firebird 1.5, C# 2008 쓰며 , tool 은 별도로 쓰지 않고 있습니다.
:
: 특정 설비 프로그램에서 확장자 IB6로 되어 있는 FireBird  1.5 버젼을 사용을 하는데 , 그 파일의 내용을 파싱(?) 해야
:
: 되는 작업을 하고 있습니다.
:
: 그런데 하루에 한두번은 FireBird의 파일 을 읽다 보면은 , 기껏 하루 데이터가 1~2메가 크기의 파일이 몇십~몇백 메가
:
: 로 늘어 나는 경우가 있습니다. 몇 백메가로 늘어난 상태에서는 파일을 읽지 못하여 작업을 못하겠더라구요.
:
: 이런 상태가 흔히들 이야기 하는 파일이 깨졌다고(?) 하더라구요.
:
: 해서 짧은 지식에서는 설비에서 파일을 열어 작업 하고 있는 상태에서 , 제가 작업하고 있는 프로그램이 파일을 읽었을
:
: 때 저 증상이 나타나는 것을 짐작(?) 만하고, 나름 생각하기에는 FireBird에서 다중 접속을 지원 하지 않는게 아닌가 하
:
: 고 질문을 올렸습니다.
:
: 죄송하지만 다시 한번 조언은 부탁 드리겠습니다.
:
: FireBird 버젼 : 1.5
: 개발 tool : C# 2008
: 운영 체제 : Window Xp Pro (영문판 ) : 중국어 , 한국어 언어 팩 설치 상태
:
:
: 1. FireBird에서 한 프로그램에서 접속을 할 경우 다른 프로그램에서 해당 파일을 사용 하지 못하게 할 수 있는지(lock)
:
:   궁금합니다.
:
: 2. 연결 문자열을 아래와 같이 사용을 하고 있습니다. 혹 다중 접속을 하기 위해서 Connection 문자열을 다른 걸 써야
:
:     되는 것인지 궁금합니다.
:
:     연결 문자열 = "user id=sysdba;password=masterkey;initial catalog=\"localhost:" + 데이터 베이스 파일 경로 
:                          +"\\" + "2012-0309-0759.IB6\";pooling=False;port number=3050;server type=Default
:
: 3. 자료를 찾아 보니까 FireBird에도 설정하는 부분이 있는 것 같은데, 혹 다중 접속을 하기 위해 어떠한 설정을 해줘야
:
:     되는 것이 있는지 궁금합니다.
:
: 4. 깨진(?) 상태의 파일을 혹 다시 살릴(?) 수 있는지, 있다면 그 방법에 대해서도 조언을 부탁드리겠습니다.
:
: 짧은 생각에서는 문제 될 만한 부분이 저 정도 되는 것 같습니다.  
:
: 혹 이 것 이외에 다른 부분을 체크해봐야 되는 사항이 있으면 어떠한 것이 있는지도 좀 부탁드리겠습니다.

-----------------------------------------------------------------------------------------

안녕하세요 불새 입문자 샤프가이리키 입니다.

^^;; 질문들이 제게는 좀 어렵네요 ㅎㅎ;;
아는 부분만 먼저 말씀드리겠습니다.
참! 그리고 전 2.5 버전을 사용하고 있어 다소 차이가 있을 수 있음을 말씀드립니다.

Q1. FireBird에서 한 프로그램에서 접속을 할 경우 다른 프로그램에서 해당 파일을 사용 하지 못하게 할 수 있는지(lock) 궁금합니다.

A1. DB 파일에 대한 접근 제한이 있습니다. 파일 삭제, 파일이름 변경 등 이 불가 합니다.(파일 복사는 가능) 다만 접속 중의 경우(커넥션을 가지고 있을때, DB 에서 SELECT * FROM MON$ATTACHMENTS 를 이용하여 해당 DB 에 접속 해 있는지 여부를 알 수 있습니다.)에만 그러 합니다. 접속이 없는 경우는 모든 접근이 가능 합니다. DB 파일을 파싱 한다고 하셨는데 접속이 있는 경우에도 복사가 가능하므로 해당 DB 파일을 임시 폴더에 복사하시어 작업하시는 방법이 안전 하시리라 생각 됩니다.
ps. 이미 아시는 내용이실것 같네요^^;;


Q2. 연결 문자열을 아래와 같이 사용을 하고 있습니다. 혹 다중 접속을 하기 위해서 Connection 문자열을 다른 걸 써야
되는 것인지 궁금합니다.
연결 문자열 = "user id=sysdba;password=masterkey;initial catalog=\"localhost:" + 데이터 베이스 파일 경로 
                          +"\\" + "2012-0309-0759.IB6\";pooling=False;port number=3050;server type=Default

A2. 연결 문자열의 경우는 문제가 없어 보입니다만... 일단 제가 주로 사용하는 연결 문자열도 참고하시면 좋을듯 하네요. (환경 : .NET Provider 2.7.0)
연결 문자열 = "User=SYSDBA;Password=pass;Database=DB 경로;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0"


Q3. 자료를 찾아 보니까 FireBird에도 설정하는 부분이 있는 것 같은데, 혹 다중 접속을 하기 위해 어떠한 설정을 해줘야 되는 것이 있는지 궁금합니다.

A3. 불새의 환경설정은 불새 설치 경로의 firebird.conf 파일에서 이루어 집니다. 그런데 다중 접속을 위한 설정은 없는 듯 해 보입니다.(정확하지 않습니다.ㅠㅠ firebird.conf 파일이 영어로 설명 되어져 있는데... 이하생략 ㅠ, 해당 파일을 직접 열어 보시는게 더 빠를듯 합니다.)
ps. 이 내용도 이미 아시는 내용이실것 같네요^^;;


Q4. 깨진(?) 상태의 파일을 혹 다시 살릴(?) 수 있는지, 있다면 그 방법에 대해서도 조언을 부탁드리겠습니다.

A4. gfix.exe 유틸리티가 있습니다만...(경로는 설치 폴더\bin) 전 복구가 안되더라구요. 일단 사용법은 URL 로...
URL : http://www.firebirdsql.org/manual/gfix-commands.html
제 경우는 컴퓨터가 갑자기 꺼지면서 발생 했는데요. 커넥션을 가지고 있던 DB 파일이 손상 되었는지 2번 다시 접속이 안되더라고요. gfix.exe 를 통해 복원 시도 해 보았으나 되지 않았습니다. ㅠ


이상 허접 답변 이었습니다. 이미 아시는 내용이 많으실 것 같네요^^;
DB 파일을 직접 파싱 하신다고 하시니 임시로 복사 하시어 사용하시는 방법을 권해 드립니다. 그리고 중요 파일 이시라면 주기적으로 백업 해 두시는 것도 좋으실 것 같아요. 불새가 무료다 보니 DB 손상시 보상 받을 수 없기 때문이죠. 물론 보고에 의하면 손상률이 매우 적다고 하는데요. 그래도... ㅎㅎ

아무튼 불새 화이팅!
읽어주셔서 감사합니다.

+ -

관련 글 리스트
4366 다중 사용자 설정 또는 접속 방법에 관련하여 문의 드립니다 김경원 8203 2012/03/10
4369     Re:다중 사용자 설정 또는 접속 방법에 관련하여 문의 드립니다 샤프가이리키 2510 2012/03/15
4373         Re:Re:다중 사용자 설정 또는 접속 방법에 관련하여 문의 드립니다 김경원 8140 2012/03/15
4374             Re:Re:Re:다중 사용자 설정 또는 접속 방법에 관련하여 문의 드립니다 샤프가이리키 2968 2012/03/16
4377                 감사드립니다. 김경원 1928 2012/03/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.