Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#10

AW: IBExpert Tipp gesucht

  Alt 18. Jun 2011, 11:39
Moin,

mit unserer ibeblock Script Sprache (nur verfügbar in der Vollversion bzw Trial) geht der Import recht hurtig, hier ein Beispielscript:

Code:
EXECUTE ibeblock
AS
BEGIN
   cbb = 'execute ibeblock (RecNo integer)
          as
          begin
            if (ibec_mod(RecNo, 100) = 0) then
              ibec_Progress(RecNo || '' records copied into'||:tabname||'...'');
          end';
 
   OdbcCon = ibec_CreateConnection(__ctODBC, 'Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=C:\paradox\DATEN\;Dbq=C:\paradox\DATEN\;CollatingSequence=ASCII;');

   DB = ibec_CreateConnection(__ctFirebird,
                              'DBName="localhost:C:\firebird\daten.fdb";
                               ClientLib=fbclient.dll;
                               user=SYSDBA; password=masterke; names=ISO8859_1; sqldialect=3');
   try
     use DB;

     for
       select tabname from imp_tab into :tabname
       do
       begin
         RecCount = ibec_CopyData(OdbcCon, DB, 'IMP$'||:tabname,
                                  'SELECT * FROM '||:tabname,
                                  'CommitAfter=1000; EmptyTable; CreateTable; DontQuoteIdents',
                                  cbb);
     
       end
   finally
     ibec_CloseConnection(DB);
     ibec_CloseConnection(OdbcCon);
   END;
 END
Damit hast du die Datentabelle 1 zu 1 in der Firebird DB, danach würde ich dann eine Prozedur
schreiben, mit der die Daten dann von den Paradox Tabellen auf Basis neuer IDs, die man ja schon in den
Firebird Tabellen speichern kann, verteilt werden.

Wenn das einmal fertig ist kannst du den Import jederzeit wieder anschmeissen und das dauert bei 9000
records sicherlich weit weniger als dein Zeitfenster erlaubt.

Das Script stammt aus einem Kundenprojekt, bei dem wir ca. tausende Paradox Tabellen importieren mussten,
und zwar in hunderten Kundeninstallationen unbeaufsichtigt.

Wichtig ist das der Paradox ODBC Treiber installiert sein muss, der ist beim MS Office Paket aber mit
dabei. Wenn das schon mal lief, dann beim 2. Durchlauf das CreateTable Flag rausnehmen, weil
sonst die Tabellen erneut angelegt werden udn Fehler kommen.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat