Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabellenspalten von FreeTables in DataDictionary kopieren (https://www.delphipraxis.net/155230-tabellenspalten-von-freetables-datadictionary-kopieren.html)

Ascuriah 15. Okt 2010 12:34

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Ja sehr geil hat mal wieder funktioniert!;)

danke danke

Ascuriah 19. Okt 2010 09:04

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin Moin Liebe Delphi Gemeinde

Bei meinem vorher ja schon genannten Projekt möchte ich nun den Quellpfad der Daten über eine selectdirectory() prozedur lösen.
Hier mein Code:

Delphi-Quellcode:
procedure TForm1.BtnQuellPfadClick(Sender: TObject);              //Auswahl des Quell-Verzeichniss
begin
    SelectDirectory('Quellordner auswählen','C:\ag32ads\',QuellPfad);
    Edit1.Text := QuellPfad;
    //str := QuellPfad;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    AdsQuery1.SQL.Clear;
    sInsert := ' insert into test_olap (test_key) select ' +
    ' kbu_key from [ ' + Edit1.Text + ' \agf_kbu] ';
    AdsQuery1.SQL.Add(sInsert);
    AdsQuery1.ExecSQL;
end;
(alle Variablen sind ordnungsgemäß deklariert, sieht man hier nur ned^^)

wenn ich den Pfad fest in das Select Statement einbau funktionierts, wenn ich ihm aber nur den Pfad in einem String übergebe den er oben ausgewählt hat rödelt er recht lang (15-20sec) und man meint es klappt und dann kommt folgender Fehler:

Wäre super wenn mir jemand seine Idee mitteilen könnte

Bummi 19. Okt 2010 10:51

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
nimm mal das erste Leetrzeichen raus bei:

' \agf_kbu] '

Ascuriah 19. Okt 2010 14:04

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Das hat geklappt, vielen vielen Dank;)

Ascuriah 20. Okt 2010 10:28

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Hey ho

Ich habe in meiner QuellTabelle ein Feld "Buchubgsdatum" welches vom Typ Timestamp ist. Dieses Feld soll aber genauso in meine neue Tabelle eingefügt werden. Habe schon mit Variant, String, DateTime alles mögliche getestet, aber komme einfach ned auf den Grünenzweig. Hier der Code:

Delphi-Quellcode:
begin
     adsconnection1 := TAdsConnection.Create(nil);
     adsconnection1.AdsServerTypes := [stADS_REMOTE];
     adsconnection1.ConnectPath := 'C:\OLAP\OLAP_DICTIONARY\OLAP_DICTIONARY.ADD';
     adsconnection1.Username := 'Adssys';

     qryOlap := TAQuery.Create(nil);
     qryOlap.AdsConnection := adsconnection1;

     qryFibu := TAQuery.Create(nil);
     qryFibu.AdsConnection := Connection;
     qryFibu.SQL.Add('select * from [C:\ag32ads\AFLDaten\K1\M13\01.01.2007-31.12.2007\agf_kbu]');
     qryFibu.Open;
     qryFibu.First;
     while not qryFibu.Eof do
     begin
         buchungsdat_TS := qryFibu.FieldByName('KBU_BUCHUNGSDATUM').AsString;

         sInsert := 'insert into olap_fibu_daten (Buchungsdatum) values(' + buchungsdat_TS + ')';

         qryOlap.SQL.Clear;
         qryOlap.SQL.Add(sInsert);
         qryOlap.ExecSQL;

         qryFibu.Next;
     end;

     qryFibu.Close();
     FreeAndNil(qryFibu);

end;
Und Fehlermeldung erhalten ich folgende:
Code:
Erste Gelegenheit für Exception bei $754D9617. Exception-Klasse EADSDatabaseError mit Meldung 'Error 7200: AQE Error: State = 42000;  NativeError = 2116; [iAnywhere Solutions][Advantage SQL Engine]Malformed number: 01.01 -- Location of error in the SQL statement is: 175 There was a problem parsing the value list in the INSERT INTO statement.'. Prozess OlapUI.exe (4608)

DeddyH 20. Okt 2010 12:36

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Ich würde das Insert-Statement einmalig vor der Schleife setzen und vor allem Parameter verwenden. Und falls das Buchungsdatum kein alphanumerisches Feld sein sollte, kann man es doch gleich unbehandelt als Parameter weitergeben.

Ascuriah 20. Okt 2010 13:14

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Sry ich komm jetzt grad so garned drauf was du meinst. Parameter für die Pfade meinst du?

DeddyH 20. Okt 2010 13:48

AW: Tabellenspalten von FreeTables in DataDictionary kopieren
 
Delphi-Quellcode:
...
     qryFibu.Open;
     //SQL einmalig setzen
     qryOlap.SQL.Text := 'insert into olap_fibu_daten(Buchungsdatum) values(:buchdat)';
     while not qryFibu.Eof do
     begin
         //in der Schleife nur Parameter neu belegen
         qryOlap.ParamByName('buchdat').Value := qryFibu.FieldByName('KBU_BUCHUNGSDATUM').Value;      
         qryOlap.ExecSQL;

         qryFibu.Next;
     end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz