Objektnamen (FireDAC)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Arbeiten mit Metadaten (FireDAC)


Allgemeine Informationen

Die folgenden Eigenschaften geben die Datenbankobjektnamen an:

Ein Name kann folgendermaßen angegeben werden:

  • Ohne Anführungszeichen; FireDAC normalisiert den Namen
  • In Anführungszeichen; FireDAC verwendet den Namen wie angegeben

Beispiel für Firebird mit SQL, Dialekt 3:

DDL Richtig Falsch
CREATE PROCEDURE Test FDStoredProc1.StoredProcName := 'test';

FDStoredProc1.StoredProcName := 'TeSt';

FDStoredProc1.StoredProcName := '"TEST"';

FDStoredProc1.StoredProcName := '"test"';
CREATE PROCEDURE "Test" FDStoredProc1.StoredProcName := '"Test"'; FDStoredProc1.StoredProcName := 'test';

FDStoredProc1.StoredProcName := 'TeSt';

FDStoredProc1.StoredProcName := 'Test';

FDStoredProc1.StoredProcName := '"TEST"';

CREATE PROCEDURE "Main Proc" FDStoredProc1.StoredProcName := '"Main Proc"'; FDStoredProc1.StoredProcName := 'main proc';

FDStoredProc1.StoredProcName := 'Main Proc';

Objektnamen in Anführungszeichen

FireDAC unterstützt Objektnamen in Anführungszeichen, einschließlich verschiedener DBMS-Anführungszeichen. Mit der Syntax {id <Name>} können Sie einen Namen in Anführungszeichen in einer SQL-Anweisung in einer vom jeweiligen DBMS unabhängigen Form schreiben. Zum Beispiel:

 SELECT * FROM {id Order Details}

Damit TFDTable Feldnamen in Anführungszeichen setzt, legen Sie für FormatOptions.QuoteIdentifiers FormatOptions.QuoteIdentifiers True fest.

Vollständige Objektnamen

FireDAC unterstützt vollständige Objektnamen, die die Katalog- und/oder die Schemanamen enthalten.

Bei Verwendung der Entwurfszeiteditoren, wie einem TFDStoredProc.StoredProcName-Kombinationsfeld, dem Abfragegenerator usw., werden die vollständigen Objektnamen zurückgegeben. Mit den Verbindungsdefinitionsparametern MetaDefCatalog und MetaDefSchema vermeiden Sie Katalog- und/oder Schemanamen in den vollständigen Objektnamen. Zum Beispiel:

 [MSSQL_Demo]
 DriverID=MSSQL
 ...
 MetaDefCatalog=Northwind
 MetaDefSchema=dbo

Wenn für StoredProcName, TableName usw. kurze Objektnamen angegeben sind, werden sie zu vollständigen Objektnamen mit den aktuellen Katalog- und/oder Schemanamen erweitert. Mit den Verbindungsdefinitionsparametern MetaCurCatalog und MetaCurSchema überschreiben oder vermeiden Sie die Verwendung der aktuellen Katalog- und/oder Schemanamen. Zum Beispiel:

 [MSSQL_Demo]
 DriverID=MSSQL
 ...
 MetaCurCatalog=*
 MetaCurSchema=*

Darüberhinaus können Sie beim Entwurf FireDAC dazu veranlassen, die Objektnamen ohne Katalog- und/oder Schema zurückzugeben. Deaktivieren Sie dazu im IDE-Menü FireDAC > Voreinstellungen den Eintrag Vollständige Objektnamen verwenden.

Siehe auch