Accéder au contenu principal Passer au contenu complémentaire

Accéder aux fichiers de mapping et définir les mappings de types

Procédure

  1. Cliquez sur dans la barre d'outils de la fenêtre du Studio ou cliquez sur File > Edit Project Properties dans la barre du menu pour ouvrir la boîte de dialogue Project Settings.
  2. Dans l'arborescence de la boîte de dialogue, développez General et sélectionnez Metadata of Talend Type pour ouvrir la vue Metadata of TalendType, listant les fichiers de mapping pour tous les types de bases de données utilisés dans le Studio Talend.

    Vous pouvez importer, exporter ou supprimer un fichier de conversion en cliquant sur Import, Export ou Remove, respectivement.

    Vous pouvez modifier un fichier de conversion selon vos besoins en double-cliquant sur le fichier ou en sélectionnant le fichier et en cliquant sur le bouton Edit pour ouvrir la boîte de dialogue Edit Mapping File, puis en modifiant le code XML directement dans la boîte de dialogue.

    Lorsque vous définissez un mapping de types, vous devez mapper depuis le type Talend vers le type de base de données et depuis le type de base de données vers le type Talend.

    • L'élément <dbTypes> et ses éléments enfants <dbType> définissent les types de bases de données supportés. Pour ajouter un type de base de données dans le fichier de mapping, vous devez ajouter un élément <dbType> sous l'élément <dbTypes>. L'exemple ci-dessous ajoute deux types de bases de données BOOLEAN et YESNO.
      <dbType type="BOOLEAN"/>
      <dbType type="YESNO"/>

      Si vous avez installé la mise à jour mensuelle R2020-08 du Studio ou une mise à jour plus récente fournie par Talend, vous pouvez configurer le modèle par défaut pour chaque type de date. Cela permet au modèle de date pour les colonnes de type de date d'être automatiquement configurées lors de la récupération ou détection du schéma d'une table. L'exemple suivant ajoute deux types de base de données DATE et DATETIME.

      <dbType type="DATE" defaultPattern="yyyy-mm-dd"/>
      <dbType type="DATETIME" defaultPattern="yyyy-mm-dd hh:mm:ss.SSSSSS"/>
    • L'élément <talendToDbTypes> et ses éléments enfants <talendType> définissent une liste de types de bases de données suggérés et le type de base de données par défaut lors de la configuration d'un type Talend pour une colonne de métadonnées. Pur mapper un type Talend vers un ou plusieurs type(s) de base(s) de données, vous devez ajouter un élément talendType sous l'élément <talendToDbTypes>. L'exemple ci-dessous mappe le type Talend id_Boolean à deux types de bases de données BOOLEAN et YESNO.
      <talendType type="id_Boolean">	
      	<dbType type="BOOLEAN"/>
      	<dbType type="YESNO"/>
      </talendType>
    • L'élément <dbToTalendTypes> et ses éléments enfants <dbType> définissent une liste de types Talend suggérés et le type Talend par défaut lors de la récupération du schéma depuis la base de données. Pour mapper un ou plusieurs type(s) Talend de bases de données, vous devez ajouter un élément dbType sous l'élément <dbToTalendTypes>. L'exemple ci-dessous mappe le type de base de données YESNO au type Talend id_Boolean.
      <dbType type="YESNO">
      	<talendType type="id_Boolean"/>
      </dbType>
    Note InformationsRemarque : Les attributs default, defaultLength, defaultPrecision, ignoreLen, ignorePre et preBeforelen dans les fichiers de mappings de types Talend ne sont pas pris en compte. Vous n'avez pas besoin d'ajouter ces attributs lors de la définition de nouveaux mappings de types.

    Ci-dessous se trouve le fichier de mapping de métadonnées XML pour la base de données Access :

    <?xml version="1.0"?>
    <mapping>
        <dbms product="ACCESS" id="access_id" label="Mapping Access" default="true">
            <dbTypes>
                <dbType type="BIT" ignoreLen="true" ignorePre="true"/>
                <dbType type="BOOLEAN" ignoreLen="true" ignorePre="true"/>
                <dbType type="COUNTER"/>
                <dbType type="DATE" ignoreLen="true" ignorePre="true"/>
                <dbType type="DOUBLE" ignoreLen="true" ignorePre="true"/>
                <dbType type="DECIMAL" ignoreLen="true" ignorePre="true"/>
                <dbType type="FLOAT" ignoreLen="true" ignorePre="true"/>
                <dbType type="INTEGER" ignoreLen="true" ignorePre="true"/>
                <dbType type="NUMERIC" ignoreLen="true" ignorePre="true"/>
                <dbType type="REAL" ignoreLen="true" ignorePre="true"/>
                <dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
                <dbType type="TINYINT" ignoreLen="true" ignorePre="true"/>
                <dbType type="TIME" ignoreLen="true" ignorePre="true"/>
                <dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
                <dbType type="VARCHAR" default="true" defaultLength="200" ignorePre="true"/>
                <dbType type="DATETIME" ignoreLen="true" ignorePre="true"/>
                <dbType type="MEMO" ignoreLen="true" ignorePre="true"/>
                <dbType type="YESNO" ignoreLen="true" ignorePre="true"/>
            </dbTypes>
    
            <language name="java">
                <talendToDbTypes>
                    <!-- Adviced mappings  -->
                    <talendType type="id_List"/>
                    <talendType type="id_Boolean">
                        <dbType type="YESNO" default="true"/>
                        <dbType type="BOOLEAN"/>
                    </talendType>
                    <talendType type="id_Byte">
                        <dbType type="TINYINT" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="INTEGER"/>
                    </talendType>
                    <talendType type="id_byte[]"> </talendType>
                    <talendType type="id_Character">
                        <dbType type="VARCHAR" default="true"/>
                    </talendType>
                    <talendType type="id_Date">
                        <dbType type="DATE" default="true"/>
                        <dbType type="TIMESTAMP"/>
                        <dbType type="TIME"/>
                        <dbType type="DATETIME"/>
                    </talendType>
                    <talendType type="id_BigDecimal">
                        <dbType type="NUMERIC" default="true"/>
                        <dbType type="DOUBLE"/>
                        <dbType type="FLOAT"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Double">
                        <dbType type="DOUBLE" default="true"/>
                        <dbType type="NUMERIC"/>
                        <dbType type="FLOAT"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Float">
                        <dbType type="FLOAT" default="true"/>
                        <dbType type="DOUBLE"/>
                        <dbType type="NUMERIC"/>
                        <dbType type="DECIMAL"/>
                        <dbType type="REAL"/>
                    </talendType>
                    <talendType type="id_Integer">
                        <dbType type="INTEGER" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_Long">
                        <dbType type="INTEGER" default="true"/>
                        <dbType type="SMALLINT"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_Object"> </talendType>
                    <talendType type="id_Short">
                        <dbType type="SMALLINT" default="true"/>
                        <dbType type="INTEGER"/>
                        <dbType type="TINYINT"/>
                        <dbType type="COUNTER"/>
                    </talendType>
                    <talendType type="id_String">
                        <dbType type="VARCHAR" default="true"/>
                        <dbType type="MEMO"/>
                    </talendType>
                </talendToDbTypes>
                <dbToTalendTypes>
                    <dbType type="BIT">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                    <dbType type="BOOLEAN">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                    <dbType type="COUNTER">
                        <talendType type="id_Integer" default="true"/>
                    </dbType>
                    <dbType type="DATE">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="DECIMAL">
                        <talendType type="id_Double"/>
                        <talendType type="id_BigDecimal" default="true"/>
                        <talendType type="id_Float"/>
                    </dbType>
                    <dbType type="DOUBLE">
                        <talendType type="id_Double" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Float"/>
                    </dbType>
                    <dbType type="FLOAT">
                        <talendType type="id_Float" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="INTEGER">
                        <talendType type="id_Integer" default="true"/>
                        <talendType type="id_Short"/>
                        <talendType type="id_Long"/>
                        <talendType type="id_Byte"/>
                    </dbType>
                    <dbType type="NUMERIC">
                        <talendType type="id_Float"/>
                        <talendType type="id_BigDecimal" default="true"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="REAL">
                        <talendType type="id_Float" default="true"/>
                        <talendType type="id_BigDecimal"/>
                        <talendType type="id_Double"/>
                    </dbType>
                    <dbType type="SMALLINT">
                        <talendType type="id_Short" default="true"/>
                        <talendType type="id_Integer"/>
                        <talendType type="id_Long"/>
                        <talendType type="id_Byte"/>
                    </dbType>
                    <dbType type="TINYINT">
                        <talendType type="id_Byte" default="true"/>
                        <talendType type="id_Integer"/>
                        <talendType type="id_Short"/>
                        <talendType type="id_Long"/>
                    </dbType>
                    <dbType type="TIME">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="TIMESTAMP">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="VARCHAR">
                        <talendType type="id_String" default="true"/>
                    </dbType>
                    <dbType type="DATETIME">
                        <talendType type="id_Date" default="true"/>
                    </dbType>
                    <dbType type="MEMO">
                        <talendType type="id_String" default="true"/>
                    </dbType>
                    <dbType type="YESNO">
                        <talendType type="id_Boolean" default="true"/>
                    </dbType>
                </dbToTalendTypes>
            </language>
        </dbms>
    </mapping>

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.