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

FireBird Q&A
[4129] IBDatabase 데이터베이스 연결에러
유승현 [er80ys] 3592 읽음    2011-05-11 13:20
안녕하세요. 파이어버드를 시작한지 하루된 초보 델피언입니다.

제가 만들려고 하는건 간단한 ip정보 입력 프로그램입니다.
사용중인 버전은 Firebird 2.5 입니다.
제 로컬피씨 아이피를 입력해서 테스트 하려고 하는데요.
TIBDatabase 컴포넌트에서 Connection을 Local로 하고 테스트 하면 Unvailable Database 오류가 나고
Remote로 server를 제 아이피로 protocol을 TCP로 하면 테스트에 성공합니다.

아래는 인터넷에서 찾다가 형식을 수정해서 델파이에 올린 쿼리입니다. 근데 에러가 발생합니다.
C:\WINDOWS\system32\drivers\etc\Service 파일에 gds_db  3050/tcp 지정도 되어있습니다.
아시는분 가르침을 부탁드립니다. 초보가 알아들을 수 있도록 ㅠ.ㅠ

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  idFbDb : TIBDatabase;
  itTrans : TIBTransaction;
  iqSql : TIBQuery;
begin
  // 데이터베이스 설정

  idFbDb := TIBDatabase.Create(nil);

  idFbDb.SQLDialect := 3;
  idFbDb.Params.Add('USER,"SYSDBA"');
  idFbDb.Params.Add('PASSWORD,"masterkey"');
  idFbDb.DatabaseName := '100.100.100.100\3050\D:\IpAddr\IPDB.FDB';
  idFbDb.LoginPrompt := false;
  idFbDb.Connected := True;

  // Transaction 설정
  itTrans := TIBTransaction.Create(nil);
  itTrans.DefaultDatabase := idFbDb;
  idFbDb.DefaultTransaction := itTrans;

  // Query 설정
  iqSql := TIBQuery.Create(nil);
  iqSql.Database := idFbDb;
  iqSql.Transaction := itTrans;

  iqSql.SQL.Add('INSERT INTO T_PC');
  iqSql.SQL.Add('(PCID, PCTY, PCMD, PCDT, CPU, MEMORY, HDD)');
  iqSql.SQL.Add('VALUES');
  iqSql.SQL.Add('(:P_PCID, :P_PCTY, :P_PCMD, :P_PCDT, :P_CPU, :P_MEMORY, :P_HDD)');
  iqSql.Prepare;
  iqSql.ParamByName('P_PCID').AsString := Edit1.Text;
  iqSql.ParamByName('P_PCTY').AsString := Edit2.Text;
  iqSql.ParamByName('P_PCMD').AsString := Edit3.Text;
  iqSql.ParamByName('P_PCDT').AsString := Edit4.Text;
  iqSql.ParamByName('P_CPU').AsString := Edit5.Text;
  iqSql.ParamByName('P_MEMORY').AsString := Edit6.Text;
  iqSql.ParamByName('P_HDD').AsString := Edit7.Text;

  try
    if not itTrans.InTransaction then
    ittrans.StartTransaction;
    // SQL 문 실행
    iqSql.ExecSQL;
    itTrans.Commit;
  except
    on e:Exception do
  end;

  iqSql.Close;
  iqSql.Free;
  itTrans.Free;
  idFbDb.Free;
end;

--에러메세지는
Unable to complete network request to host "100.100.100.100\3050\D",
Failed to locate host machine.
The specified name was not found in the hosts file or Domain Name Services'.

+ -

관련 글 리스트
4129 IBDatabase 데이터베이스 연결에러 유승현 3592 2011/05/11
4130     Re:IBDatabase 데이터베이스 연결에러 이즈니 2822 2011/05/11
4131         Re:Re:IBDatabase 데이터베이스 연결에러 유승현 3081 2011/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.