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

FireBird Q&A
[2247] Re:Re:오라클 테이블을 파이어버드로 옮길려고 하는데 막막~~ 에러,,소스 좀 보아주세요-_-;;;
초보 델파이어 [] 2499 읽음    2006-11-16 14:04
^_^ 임프님의 지적에 뜨끔하는군요..

제가 맘은 급하고 풀리지는 않고 참 답답한 맘에 소스를 두서 없이 올렸군요.
그래서 다시 간단하게 문제점을 올립니다.

기본적으로 바라는 형태는 오라클 테이블 (Xtable)의 어떤 데이타들 약 100,000개의 레코드들을
파이어버드의 Ytable로 인서트 하는 것입니다.
델파이를 만져본지 몇개월밖에 되지 않은 터라 어떻게 해야 될지
잘 모르겠군요
기본적인 방법에 대해 설명을 주시면 감사하겠습니다.
예를 들어 어떤 콤퍼넌트를 가지고 연결하고 인서트하면 된다는 식의
기본적인 형태를 설명해 주시면 도움이 될 것입니다.

여러분들의 의견을 기다립니다.


박지훈.임프 님이 쓰신 글 :
: 무작정 전체 소스를 몽땅 올려놓고는, '어디서 에러가 나는지부터 시작해서 원인까지 다 찾아봐라..' 라는 뜻 맞습니까?
:
: 급하신 사정도 있을 수 있겠지만, 질문하실 때도 에티켓이 있고, 굳이 에티켓을 따지지 않더라도 적어도 어느 부분에서 어떻게 했더니 어떤 문제가 발생하더라, 라고 써주셔야 문제에 접근할 수 있지 않겠습니까. 답변을 쓰시는 분들이 다른 할 일도 없이 오직 하루종일 답변만 하는 것도 아니고 말이죠. 게다가 보는 입장에서는 님과 달리 해당 데이터베이스를 가진 것도 아니니 당면한 님보다 더 문제를 찾기 힘듭니다. 이렇게 소스만 올려놓고 수정해달라고 하면 답변해드리려고 보던 분들도 막막해집니다.
:
: 구체적인 상황을 설명해주세요.
:
:
: 초보 델파이어 님이 쓰신 글 :
: : 오라클 데이타를 파이어버드로 옮길려고 하는데...
: : 먼가 계속 에러를  띄우는 군요..
: : 고수님님들의 조언을 바랍니다.
: :
: : 아래는 간략한 소스입니다.
: :
: : Database1, IBDatabase1 설정함
: :
: : procedure TForm1.Button1Click(Sender: TObject);
: : var
: :  i,j,k: Integer;
: :  cFid,cMarc,subj,pan ,indextext,abstext,contentsTEXT,LogFileName,ErrMsg: String;
: :  ErrLogfile: TextFile;
: :  sl: TStringList;
: :
: : begin
: :   try
: :     try
: :     //실제 프로세스 시작
: :     IBTransaction1.Active := True;
: :  
: :      if MessageDlg('업데이트하시겠습니까?', mtConfirmation,[mbYes, mbNo], 0) = mrYes then   begin
: :        cMarc:='';
: :       //트랜잭션 시작
: :     IBTransaction1.StartTransaction;
: :      cFid := FormatDateTime('yymmddhhmmsszzz', Now);
: :        k:=1;
: :        memo1.Clear;
: :           for i:=strtoint(Edit1.Text) to strtoint(Edit2.Text) do begin
: :
: :              cMarc :='';
: :             
: :                Query1.Close;
: :                Query1.SQL.Clear;
: :                Query1.SQL.Add('select * from Ttable where rownum = :crow');
: :                Query1.ParamByName('crow').asstring := inttostr(i);
: :                        Query1.Open;
: :                Query1.FetchAll;
: :
: :                cFid :='';
: :                if Query1.RecordCount > 0 then begin
: :
: :
: :                 IBQuery1.Close;
: :                 IBQuery1.SQL.BeginUpdate;
: :                 IBQuery1.SQL.Add('Insert into test_MARC(FID, GG)');
: :                 IBQuery1.SQL.Add(' values (:FID, :GG)');
: :                 IBQuery1.SQL.EndUpdate;
: :                 IBQuery1.ParamByName('FID').asstring :=  trim(Query1.fieldbyname('FID').AsString);
: :                 IBQuery1.ParamByName('GG').AsBlob :=  trim(Query1.fieldbyname('GG').AsString);
: :
: :                 IBQuery2.Close;
: :                 IBQuery2.SQL.BeginUpdate;
: :                 IBQuery2.SQL.Add('Insert into test_CONTROL(FID,RDATE');
: :                 IBQuery2.SQL.Add(' values (:FID,:RDATE)');
: :                 IBQuery2.SQL.EndUpdate;
: :                 IBQuery2.ParamByName('FID').asstring :=  trim(Query1.fieldbyname('FID').AsString);
: :                 IBQuery2.ParamByName('RDATE').AsDateTime := NOW;
: :
: :
: :                 IBQuery1.Prepare;
: :                 IBQuery2.Prepare;
: :                 IBQuery1.ExecSQL;
: :                 IBQuery2.ExecSQL;
: :
: :            
: :                 label3.Caption:=inttostr(i);
: :                 label3.Refresh;
: :               inc(k);
: :            end;  //if Query1.RecordCount > 0 then begin
: :         end;   // for i:=strtoint(trim(Edit1.Text))
: :       //트랜잭션 끝
: :           IBTransaction1.CommitRetaining;
: :            exit;
: :      end
: :      else begin
: :      showmessage('취소하셨습니다.!!');
: :      exit;   // if
: :      end;
: :
: :     //실제 프로세스 종료
: :     except
: :       on err:exception do
: :       begin
: :       LogFileName :=  ExtractFilePath(Application.ExeName)
: :              + ExtractFileName(Application.ExeName) + '_' +FormatDateTime('yyyy"년"mm"월"dd"일"',Now) + '.log';
: :
: :       // 민약, 에러로그가 없으면 에러로그 파일을 생성
: :       if Not FileExists(LogFileName) then  FileClose(FileCreate(LogFileName));
: :
: :       ErrMsg := '[' +  FormatDateTime('YYYY:MM:DD:HH:NN', Now)   + ']['+  label3.Caption +'] /';
: :
: :       AssignFile(ErrLogfile, LogFileName);
: :       Append(ErrLogfile);
: :
: :       Writeln(ErrLogfile, ErrMsg+ ' 데이타 저장오류 -'+err.message);
: :       ShowMessage('작업이 중지되었습니다. Data확인요망-'+err.message);
: :       CloseFile(ErrLogfile);
: :       //IBTransaction1.Rollback;
: :
: :       exit;
: :       Application.Terminate;
: :       end;
: :     end; //try
: :   finally
: :      Query1.Close;
: :      IBQuery1.Close;
: :      IBQuery2.Close;
: :      Query1.Free;
: :      IBQuery1.Close;
: :      IBQuery2.Close;
: :      Database1.Close;
: :      IBDatabase1.Close;
: :      IBTransaction1.Active := false;
: :   end;  //try
: :
: : end;

+ -

관련 글 리스트
2243 오라클 테이블을 파이어버드로 옮길려고 하는데 막막~~ 에러,,소스 좀 보아주세요-_-;;; 초보 델파이어 2227 2006/11/15
2244     Re:오라클 테이블을 파이어버드로 옮길려고 하는데 막막~~ 에러,,소스 좀 보아주세요-_-;;; 박지훈.임프 2236 2006/11/16
2247         Re:Re:오라클 테이블을 파이어버드로 옮길려고 하는데 막막~~ 에러,,소스 좀 보아주세요-_-;;; 초보 델파이어 2499 2006/11/16
2254             Re:Re:Re:에구구~~~ 박지훈.임프 2047 2006/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.