idFbDb.DatabaseName := '100.100.100.100\3050\D:\IpAddr\IPDB.FDB'; 를
idFbDb.DatabaseName := '100.100.100.100:D:\IpAddr\IPDB.FDB'; 혹은
idFbDb.DatabaseName := '100.100.100.100/3050:D:\IpAddr\IPDB.FDB';
유승현 님이 쓰신 글 :
: 안녕하세요. 파이어버드를 시작한지 하루된 초보 델피언입니다.
:
: 제가 만들려고 하는건 간단한 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'.
|