AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IBExpert Tipp gesucht

Ein Thema von haentschman · begonnen am 18. Jun 2011 · letzter Beitrag vom 18. Jun 2011
 
Benutzerbild von IBExpert
IBExpert

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

AW: IBExpert Tipp gesucht

  Alt 18. Jun 2011, 10: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
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz