AW: Tabelle existiert nicht
Normalerweise ist es so (seit es 64 Bit Windows Betriebssysteme gibt):
Datenbank 32/64 bit, egal Datenbankclient 32 / 64 bit passend zum aufrufenden Programm Anwendung 32 / 64 bit benötigt einen Datenbankclient (Treiber) der gleichen Bittigkeit Wenn Du also ein 32 Bit Programm baust, brauchst Du einen 32 Bit Datenbanktreiber, egal wie die Bittigkeit der DB ist. Analog für ein 64 Bit Programm |
AW: Tabelle existiert nicht
Hi Mikhal
Zitat:
Zitat:
Wie auch immer - ein via MySQL erstelltes Backup wars sicher nicht. Zitat:
Workbench hingegen zeigt mir die Tabellennamen an, nicht aber Colums, Indexes und Foreignkeys, die eigentlich"mit im Angebot" wären. Gruss Delbor |
AW: Tabelle existiert nicht
Hi jobo
Zitat:
Gruss Delbor |
AW: Tabelle existiert nicht
Langsam kommt mir der Verdacht, dass die interne Verwaltungsstruktur der Datenbank geschreddert wurde.
MySQL hat, wie auch andere Datenbanken, ein INFORMATION_SCHEMA Ein Select * from INFORMATION_SCHEMA.TABLES sollte Klarheit über die vorhandenen Tabellen bringen. Über ein Select * from INFORMATION_SCHEMA.COLUMNS sollten dann die Spalten zu finden sein. Zur Fehlereingrenzung: Was bringen die beiden folgenden SQL für ein Ergebnis?
SQL-Code:
Stimmen die Ergebnisse mit dem erwarteten überein?
select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'kategorien_tabelle';
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'kategorien_tabelle'; Wenn nein, welche Abweichungen zum Erwarteten gibt es? |
AW: Tabelle existiert nicht
Zitat:
|
AW: Tabelle existiert nicht
Ja, meiner Meinung nach sollte hier systeamtisch vorgegangen werden.
Show Tables liefert ja ein Ergebnis. Alles was da rauskommt wird der Reihe nach mit Select * from abgefragt. Bei Fehlern werden die erstmal nur protokolliert. Sind alle Abfragen durch, wird geprüft, ob es bei den Fehlern irgendwelche Zusammenhänge gibt. Zur Fehleranalsyse sollte das Information_Schema dann genauestens durchforstet werden. Hier stehen die von MySQl genutzten / benötigten Dateien drin INFORMATION_SCHEMA FILES. Nötigenfalls wird ein Select * from INFORMATION_SCHEMA.FILES gemacht und geprüft, ob die dort aufgeführten Dateien auch alle an der dort aufgeführten Stelle zu finden sind. Was wo zu finden sein sollte, müsste hier genauer aufgeführt sein: NDB Notes |
AW: Tabelle existiert nicht
Hi zusammen
Ich hab die beeiden von Nahpeds geposteten Statements mal getestet. Dazu hab ich in einem Frame eine Prozedur angelegt:
Delphi-Quellcode:
Den SQL-Sring hab ich dann wahlweise mit dem erste, bzw. dem zweiten Statement belegt.
procedure TServerInfoFrame.TestShowTables;
var SqlString : String; i : Integer; begin SqlString := 'select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = kategorien_tabelle'; // <= FDMySQLDml.FDMySQLQueryInfo.SQL.Text := SqlString; FDMySQLDml.FDMySQLQueryInfo.Open; FDMySQLDml.FDMySQLQueryInfo.First; i := 1; while (not FDMySQLDml.FDMySQLQueryInfo.Eof) do begin Memo1.Lines.Add('*************'); FDMySQLDml.FDMySQLQueryInfo.Fields.Fields[0].AsString; FDMySQLDml.FDMySQLQueryInfo.Next; inc(i); end; FDMySQLDml.FDMySQLQueryInfo.Close; // select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'kategorien_tabelle'; end; Die Fehlermeldungen: Zitat:
Zitat:
Delbor |
AW: Tabelle existiert nicht
Ich vermute mal, dass der MySQL-Dienst auf dem alten Rechner lief, während du die Datenbank kopiert hast. Dabei ist sie dann wohl geschreddert worden.
Ich hoffe, die Datenbank funktioniert noch auf dem alten Rechner, dann erstelle dort mal ein Backup und restore dieses Backup auf dem neuen Rechner. Dann sollten sich deine Probleme (hoffentlich) in Luft auflösen. Grüße Mikhal PS: Die Tabellenamen müssen in Hochkomma gesetzt werden. |
AW: Tabelle existiert nicht
Du suchst hier nach Tabelleninhalten, von daher muss das wohl eher so aussehen:
Delphi-Quellcode:
SqlString := 'select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = ''kategorien_tabelle'' ';
Oder so:
Delphi-Quellcode:
SqlString := Format('select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = %s',
[QuotedStr('kategorien_tabelle')])'; |
AW: Tabelle existiert nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr. |
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