Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi No Such Table (https://www.delphipraxis.net/193959-no-such-table.html)

nahpets 29. Sep 2017 21:32

AW: No Such Table
 
Den Aufruf bzw. die Parameter der Prozedur GetTableNames
Delphi-Quellcode:
 FDConnection1.GetTableNames('NORTHWIND', 'DBO', 'ADQA%', '', ListBox1.Items,
   [osMy, osSystem, osOther], [tkTable, tkView]);
würd' ich mal so interpretieren: Zuerst der Name der Datenbank, dann das Schema und dann ggfls. ein Muster für die auszulesenden Tabellen.

Und wenn man nix angibt, bekommt man alle Tabellen aus dem aktuellen Schema der aktuellen Datenbank.

Eigentlich scheint das Verhalten im großen und ganzen meiner obigen Beschreibung zu entsprechend.

jobo 29. Sep 2017 21:56

AW: No Such Table
 
Zitat:

Zitat von Delbor (Beitrag 1382255)
Bei meinen ersten Versuchen mit Firedac gings darum, mittels GetSchemaName, bzw. GetCatalogName (damals noch unter MySQL) den Schema- oder Catalognamen abzurufen. Erhalten habe ich einen mit dem Datenbanknamen identischen String.

Catalog Name ist glaub ich für sqlite nicht bekannt. Nur Schemaname.

Zitat:

Zitat von Delbor (Beitrag 1382255)
Ohne jetzt Wikipedia zu konsultieren, um zu prüfen, ob ich das jetzt wenigstens halbwegs intus habe:
Der Schemaname bezeichnet den Datenbanknamen inklusive des zugrundeliegenden Tabellen- und Felder - Aufbau-Schemas.
Der Catalogname hingegen nur den blossen Datenbanknamen. Richtig?

Hab nicht verstanden, was Du meinst.
Wikipedia ist da auch nicht empfehlenswert, wenn dann sqlite doku.


Zitat:

Zitat von Delbor (Beitrag 1382255)
Mein bisheriges Verständnis von SQLite:
Von daher ist von vornherein klar, welche Datenbank, welches Datenbankschema gemeint ist. Per Default eben 'main'. Wobei 'main' auch dann das aktuelle Schema ist, wenn ich der Verbindung mit 'ATTACH' eine weitere DB hinzugefügt habe - eine explizite Adressierung der hinzugefügten DB á la "Contentmasterdat.Bildtabelle" ist deshalb nicht zulässig.

Naja wenn es klar wäre, gäb es kein Problem oder?
Main ist Default und kann weggelassen werden.
Alles andere kann attached werden und muss dann mit <schemaname>.<tabelename> angegeben werden.
Ich weiß nicht, ob es noch andere Verfahren gibt, einen Schemanamen zu definieren, ich kenne nur attach. Zulässig ist das bestimmt, denn dafür ist es ja da, bspw. auch zur Unterscheidung mehrere Schemata (nach mehrfachem attach Aufruf)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 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