![]() |
AW: MyDac und Temporäre Tabellen
Weil's mich nicht losgelassen hat, hab ich versucht das nachzuvollziehen.
Die Connection wird durch den Aufruf von Excute NICHT getrennt. Die angelegte temporäre Tabelle existiert auch über mehrere getrennte Execute's, aber es funktioniert dennoch nicht: Hier gibts den Fehler "Tabelle existiert nicht"
Delphi-Quellcode:
Hier knallts auch weil die Tabelle "tmp" bereits existiert
MyQuery1.SQL.Clear;
MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;'); MyQuery1.Execute; MyQuery1.SQL.Clear; MyQuery1.Sql.Add('INSERT INTO tmp(PID) VALUES (2);'); MyQuery1.Execute;
Delphi-Quellcode:
Ja wie denn jetzt, entweder sie existiert oder sie existiert nicht?!
MyQuery1.SQL.Clear;
MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;'); MyQuery1.Execute; MyQuery1.SQL.Clear; MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;'); MyQuery1.Execute; |
AW: MyDac und Temporäre Tabellen
Ich habe das ganze mal mit DirectMySql versucht. Klappt einwandfrei. Mehr kann ich dazu leider auch nicht sagen. Man findet aber auch nix im netz.
Das ist kein Fehler vom Server, sonst würde es ja mit anderen sachen nicht gehen, sondern vom MyDac. Danke für deine rückmeldung. |
AW: MyDac und Temporäre Tabellen
Ich habs grad mal mit UniDAC ausprobiert. Auch dort klappt das einwandfrei.
|
AW: MyDac und Temporäre Tabellen
Den Code von rapante habe ich mit MyDAC probiert und funktioniert einwandfrei.
Delphi-Quellcode:
MyQuery1.SQL.Clear;
MyQuery1.Sql.Add('CREATE TEMPORARY TABLE tmp (ID int NOT NULL AUTO_INCREMENT, PID Int, PRIMARY KEY (ID)) ENGINE=INNODB;'); MyQuery1.Execute; MyQuery1.SQL.Clear; MyQuery1.Sql.Add('INSERT INTO tmp(PID) VALUES (2);'); MyQuery1.Execute; |
AW: MyDac und Temporäre Tabellen
@VCLControls
Welche Version der MyDac Komponenten hast du im Einsatz? Bei mir läuft 7.6.11 |
AW: MyDac und Temporäre Tabellen
Zitat:
Was man aber noch versuchen könnte, wenn es an der Version liegt, das Create der Tmp-Tabelle über Execute der TMyConnection zu machen und das Insert über die Query1. Wenn das Nichts bringt SQL.Clear mal durch SQL.Text ersetzen. Evt. bringt es ja was. |
AW: MyDac und Temporäre Tabellen
Ich habe 7.1.6.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:45 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