12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- program TestDBindexer;
- {$mode objfpc}{$H+}
- uses
- {$IFDEF UNIX}{$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}{$ENDIF}
- Classes, SysUtils, sqldb, dbIndexer, ibconnection, fbindexdb, fpindexer;
- {$R *.res}
- Function SetupDB : TCustomIndexDB;
- Var
- IB: TFBIndexDB;
- begin
- IB := TFBIndexDB.Create(nil);
- try
- IB.DatabasePath := Paramstr(2);
- IB.UserName := 'username';
- IB.Password := 'secret';
- if not FileExists(IB.DatabasePath) then
- IB.CreateDB
- else
- begin
- IB.Connect;
- IB.CreateIndexerTables;
- end;
- except
- FreeAndNil(IB);
- Raise;
- end;
- Result:=IB;
- end;
- Var
- DBI : TDBIndexer;
- Start : TDateTime;
- begin
- If ParamCount<>2 then
- begin
- Writeln('Usage ',ExtractFileName(ParamStr(0)),' dbpath indexdbpath');
- Halt(1);
- end;
- DBI:=TIBIndexer.Create(Nil);
- try
- DBI.IndexDB:=SetupDB;
- try
- DBI.Database:=TIBConnection.Create(DBI);
- DBI.Database.Transaction:=TSQLTransaction.Create(DBI);
- DBI.Database.DatabaseName:=ParamStr(1);
- DBI.Database.UserName:='username';
- DBI.Database.Password:='SysteemD';
- DBI.Database.Connected:=True;
- DBI.SkipTables.add('AANWEZIGHEIDSREGISTER');
- DBI.SkipTables.add('EDISONZENDING');
- Start:=Now;
- DBI.IndexDatabase;
- Writeln('Finished : ',FormatDateTime('hh:nn:ss',Now-Start));
- finally
- DBI.IndexDB.Free;
- end;
- finally
- DBI.Free;
- end;
- end.
|