Noms d'objets (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des métadonnées (FireDAC)


Informations générales

Les propriétés suivantes spécifient le nom des objets de base de données :

Un nom peut être spécifié :

  • Sans guillemets et FireDAC normalise le nom ;
  • Entre guillemets et FireDAC l'utilise tel quel.

Par exemple, sous Firebird avec dialecte SQL 3 :

DDL Fonctionnera Echouera
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';

Noms d'objets délimités

FireDAC supporte les noms d'objets délimités, notamment les caractères entre guillemets des différents SGBD. Pour écrire un nom délimité dans une instruction SQL indépendamment du SGBD, utilisez la syntaxe {id <nom>}. Par exemple :

 SELECT * FROM {id Order Details}

Pour forcer TFDTable à mettre les noms de champs entre guillemets, définissez la propriété FormatOptions.QuoteIdentifiers sur True.

Noms d'objets complets

FireDAC supporte les noms d'objets complets, c'est-à-dire avec le nom du catalogue et/ou du schéma.

Quand vous utilisez des éditeurs de conception comme la zone de liste déroulante TFDStoredProc.StoredProcName, Query Builder, etc., ils renvoient le nom complet des objets. Pour que le nom du catalogue et/ou schéma n'apparaisse pas dans le nom complet des objets, utilisez les paramètres de définition de connexion MetaDefCatalog et MetaDefSchema. Par exemple :

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

Quand un nom d'objet abrégé est spécifié pour StoredProcName, TableName, etc, il est développé en nom complet à l'aide du nom du catalogue et/ou schéma en cours. Pour que le nom du catalogue et/ou schéma en cours ne soit pas utilisé, utilisez les paramètres de définition de connexion MetaCurCatalog et MetaCurSchema. Par exemple :

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


Voir aussi