Propriétés du tMSSqlOutput Standard
Ces propriétés sont utilisées pour configurer le tMSSqlOutput s'exécutant dans le framework de Jobs Standard.
Le composant tMSSqlOutput Standard appartient à la famille Bases de données.
Le composant de ce framework est disponible dans tous les produits Talend.
Basic settings
Base de données |
Sélectionnez le type de base de données dans la liste et cliquez sur Apply (Appliquer). |
Property type | Peut-être Built-In ou Repository.
|
Cliquez sur cette icône pour ouvrir l'assistant de connexion à la base de données et stocker les paramètres de connexion configurés dans la vue Basic settings du composant. Pour plus d'informations concernant la configuration et le stockage des paramètres de connexion à la base de données, consultez Centraliser des métadonnées de base de données. |
|
Use an existing connection |
Cochez cette case et sélectionnez le composant de connexion adéquat dans la liste Component list pour réutiliser les paramètres d'une connexion que vous avez déjà définie. Note InformationsRemarque : Lorsqu'un Job contient un Job parent et un Job enfant, si vous devez partager une connexion existante entre ces deux niveaux, par exemple pour partager la connexion créée par le Job parent au Job enfant, procédez comme suit.
Pour un exemple de partage d'une connexion à une base de données à travers différents niveaux de Jobs, consultez Partager une connexion à une base de données. |
JDBC Provider |
Sélectionnez le fournisseur du pilote JDBC à utiliser, Microsoft (recommandé, par défaut) ou Open source JTDS. Lorsque Microsoft est sélectionné, vous devez télécharger le pilote Microsoft JDBC pour SQL Server sur le Centre de téléchargement de Microsoft. Vous devez ensuite décompresser le fichier zip téléchargé, choisir un fichier .jar dans le dossier décompressé, selon votre version de JRE, renommer le fichier .jar en mssql-jdbc.jar et l'installer manuellement. Pour plus d'informations relatives au choix du fichier .jar, consultez la configuration système requise sur le Centre de téléchargement Microsoft. Notez que les builds OSGi n'incluent pas le pilote open source jTDS JDBC. Si vous devez construire votre Job contenant ce composant, en tant que bundle OSGi, utilisez le pilote Microsoft JDBC officiel. Sinon, ce composant fonctionne uniquement avec Datasource avec le pilote jTDS JDBC correctement installé dans Talend Runtime. |
Host | Saisissez l'adresse IP ou le nom d'hôte du serveur de la base de données ou de l'instance Azure Synapse Analytics à utiliser. Si le service SQL Server Browser est en cours d'exécution sur la machine où se situe le serveur, vous pouvez vous connecter à une instance nommée via un port TCP dynamique et fournir le nom d'hôte et le nom d'instance dans ce champ, au format {host_name}\{instance_name}. Dans ce cas, laissez le champ Port vide. Consultez Service SQL Server Browser pour plus d'informations. |
Port | Saisissez le numéro du port d'écoute du serveur de la base de données ou de l'instance Azure Synapse Analytics à utiliser. Si le service SQL Server Browser est en cours d'exécution sur la machine où se situe le serveur, vous pouvez vous connecter à une instance nommée via un port TCP dynamique en fournissant le nom d'hôte et le nom d'instance dans le champ Host et en laissant ce champ vide. Consultez Service SQL Server Browser pour plus d'informations. |
Schema |
Saisissez le nom du schéma de la base de données. |
Base de données |
Saisissez le nom de la base de données. |
Username et Password | Saisissez les informations d'authentification. Pour saisir le mot de passe, cliquez sur le bouton [...] près du champ Password, saisissez le mot de passe entre guillemets doubles dans la boîte de dialogue et cliquez sur OK. Vous pouvez utiliser Type 2 integrated authentication sous Windows en ajoutant integratedSecurity=true dans Additional JDBC Parameters et en laissant ces deux champs vides. Consultez la section Connexion avec une authentification intégrée sous Windows dans la page Création de l’URL de connexion, pour plus d'informations. |
Table |
Saisissez le nom de la table à écrire. Notez que seule une table peut être écrite à la fois. |
Action on table | Sur la table définie, vous pouvez effectuer l'une des opérations suivantes : Default : n'effectuer aucune opération de table. Drop and create table : la table est supprimée et de nouveau créée. Create table : la table n'existe pas et est créée. Create table if not exists : la table est créée si elle n'existe pas. Drop table if exists and create : la table est supprimée si elle existe déjà et de nouveau créée. Clear table : le contenu de la table est supprimé. Truncate table : le contenu de la table est supprimé. Vous ne pouvez pas annuler cette opération. |
Activer les insertions Identity | Cochez cette case pour utiliser votre propre séquence sur les valeurs Identity des données insérées (plutôt que de laisser le serveur SQL choisir les valeurs séquentielles). |
Action on data | Sélectionnez l'opération que vous voulez effectuer : Insert : ajoute de nouvelles entrées à la table. Si des doublons sont trouvés, le Job s'arrête. Single Insert Query : ajouter des entrées à la table, regroupées dans un lot. Update : met à jour les entrées existantes.
Note InformationsRemarque : Dans les cas où toutes les colonnes de schéma sont configurées comme clés, cette action produit une erreur et le Job échoue.
Insert or update : insère un nouvel enregistrement. Si l'enregistrement avec la référence donnée existe déjà, une mise à jour est effectuée.
Note InformationsRemarque : Dans les cas où toutes les colonnes de schéma sont configurées comme clés, cette action produit un message d'avertissement et le Job continue.
Update or insert : met à jour l'enregistrement avec la référence donnée. Si l'enregistrement n'existe pas, un nouvel enregistrement est inséré.
Note InformationsRemarque : Dans les cas où toutes les colonnes de schéma sont configurées comme clés, cette action produit un message d'avertissement et le Job continue.
Delete : supprime les entrées correspondant au flux d'entrée. Insert if not exist : ajouter de nouvelles entrées à la table si nécessaire. Note InformationsAvertissement : Il est nécessaire de spécifier au moins une colonne comme clé primaire sur laquelle baser les opérations Update et Delete. Pour ce faire, cliquez sur Edit Schema et cochez les cases à côté des colonnes que vous souhaitez définir comme clés primaires. Pour une utilisation avancée, cliquez sur l'onglet Advanced settings, vue dans laquelle vous pouvez définir simultanément des clés primaires pour les opérations Update et Delete. Pour ce faire : Cochez la case Use field options et, dans la colonne Key in update, cochez les cases à côté des colonnes à utiliser comme base pour l'opération de mise à jour. Répétez l'opération dans la colonne Key in delete pour l'opération de suppression.
Note InformationsRemarque : La fonction de schéma dynamique peut être utilisée dans différents modes : Insert, Update, Insert or Update, Update or insert, Delete.
|
Specify identity field | Cochez cette case pour spécifier quel est le champ identity (Identity field), constitué d'un numéro d'identification incrémenté automatiquement. Lorsque cette case est cochée, trois autres champs s'affichent : Identity field : sélectionnez dans la liste la colonne que vous souhaitez définir comme champ Identity. Start value : saisissez une valeur de départ, utilisée pour la première ligne chargée dans la table. Step : saisissez une valeur d'incrément, ajoutée à la valeur de la ligne précédemment chargée. Cette case est disponible uniquement lorsque vous sélectionnez l'option Drop and create table, Create table, Create table if not exists ou Drop table if exists and create dans la liste Action on table. Elle ne s'affiche pas si vous sélectionnez l'option Enable parallel execution dans la vue Advanced settings. Si vous cochez cette case sans avoir coché la case Turn on identity insert mais en ayant sélectionné Create table if not exists dans la liste Action on table et si la table spécifiée n'existe pas, seule une table est créée sans qu'aucune donnée y soit insérée. Note InformationsRemarque : Vous pouvez également spécifier le champ identity (Identity field) à partir du schéma du composant. Pour ce faire, paramétrez le type de base de données (DB Type) de la colonne correspondante en INT IDENTITY.
Note InformationsRemarque : Lorsque la case Specify identity field est cochée, le type de base de données INT IDENTITY DB Type du schéma est ignoré.
|
Schema et Edit schema |
Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues de fichiers sources ou de copier des lots de colonnes d'une source sans avoir à mapper chaque colonne individuellement. Pour plus d'informations concernant les schémas dynamiques, consultez Schéma dynamique. Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables. Built-in : le schéma est créé et conservé localement pour ce composant seulement. Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. Lorsque le schéma à réutiliser contient des valeurs par défaut de type Integer ou Function, assurez-vous que ces valeurs par défaut ne sont pas entourées de guillemets. Si elles le sont, supprimez manuellement les guillemets. Pour plus d'informations, consultez Récupérer les schémas de table. |
Specify a data source alias |
Cochez cette case et spécifiez l'alias de la source de données créée du côté de Talend Runtimepour utiliser le pool de connexions partagées défini dans la configuration des données source. Cette option fonctionne uniquement lorsque vous déployez et exécutez votre Job dans Talend Runtime . Cette case est indisponible lorsque la case Use an existing Connection est cochée. |
Data source alias |
Saisissez l'alias de la source de données créée du côté Talend Runtime. Ce champ est disponible uniquement lorsque la case Specify a data source alias est cochée. |
Die on error | Cette case est cochée par défaut. Décochez cette case pour terminer le traitement avec les lignes sans erreur, et ignorer les lignes en erreur. Si nécessaire, vous pouvez récupérer les lignes en erreur en utilisant un lien de type Row > Rejects. |
Paramètres avancés
Additional JDBC parameters |
Définissez des propriétés de connexion supplémentaires pour la connexion à la base de données que vous créez. Les propriétés sont séparées par un point-virgule et chaque propriété est une paire clé-valeur. Par exemple, encrypt=true;trustServerCertificate=false; hostNameInCertificate=*.database.windows.net;loginTimeout=30; pour une connexion à la base de données Azure SQL. Ce champ n'est pas disponible si la case Use an existing connection est cochée. |
Authenticate using Azure Active Directory |
Cochez cette option pour utiliser l'authentification Azure Active Directory lors de l'établissement de la connexion. Consultez Utiliser Authentification Microsoft Entra pour des informations associées. Cette option est disponible uniquement lorsque l'option Microsoft est sélectionnée dans la liste déroulante JDBC Provider dans la vue Basic settings. |
Enable always encrypted (Column encryption) | Sélectionnez cette option pour utiliser la fonctionnalité Microsoft Always encrypted (Chiffrement permanent) afin de chiffrer et protéger vos données. Pour utiliser cette option, vous devez avoir précédemment stocké vos secrets avec Azure Key Vault :
Certaines limitations concernant les opérations et les instructions de requête s'appliquent à cette fonctionnalité. Pour la liste exhaustive des limitations, consultez la documentation Microsoft SQL Server. |
Commit every |
Nombre de lignes à inclure dans le lot avant de commencer l'écriture dans la base. Cette option assure la qualité de la transaction (mais pas le rollback) et permet une meilleure performance lors de l'exécution. |
Additional Columns | Cette option n'est pas disponible si vous créez (avec ou sans suppression) la table de base de données. Cette option vous permet d'appeler des fonctions SQL afin d'effectuer des actions sur des colonnes, à l'exclusion des actions d'insertion, de mise à jour, de suppression ou qui nécessitent un prétraitement particulier.
|
Use field options | Cochez cette case pour personnaliser une requête, surtout lorsqu'il y a plusieurs actions sur les données. |
Ignore date validation | Cochez cette case pour ignorer la validation de la date et insérer les données directement dans la base de données pour les types de données DATE, DATETIME, DATETIME2 et DATETIMEOFFSET. |
Debug query mode |
Cochez cette case pour afficher chaque étape du processus d'écriture dans la base de données. |
Support null in "SQL WHERE" statement | Cochez cette case pour prendre en compte les valeurs Null d'une table de base de données. Note InformationsRemarque : Assurez-vous que la case Nullable est bien cochée pour les colonnes du schéma correspondantes.
|
Use Batch |
Cochez cette case pour activer le mode de traitement de données par lot. Note InformationsRemarque : Si vous sélectionnez l'option Single Insert Query dans la liste Action on data, la taille des lots doit être inférieure ou égale à la limite des marqueurs de paramètres autorisés par le pilote JDBC (généralement 2 000), divisé par le nombre de colonnes. Pour plus d'informations, consultez la section Limitation ci-dessous.
|
Batch Size |
Spécifiez le nombre d'enregistrements à traiter dans chaque lot. Ce champ est disponible uniquement lorsque la case Use batch mode est cochée. |
Set Query Timeout | Sélectionnez cette option pour configurer un délai avant expiration de la requête ou du lot de requêtes. Le Job est arrêté si le délai avant expiration de la requête ou du lot de requêtes expire. Vous pouvez configurer le délai avant expiration (en secondes) dans le champ Timeout. Note InformationsRemarque :
|
tStatCatcher Statistics | Cochez cette case afin de collecter les données de log au niveau du composant. |
Enable parallel execution |
Cocher cette case permet de traiter plusieurs flux de données simultanément. Notez que cette fonctionnalité dépend de la capacité de la base de données ou de l'application à gérer plusieurs insertions en parallèle ainsi que le nombre de processeurs utilisés. Dans le champ Number of parallel executions, vous pouvez :
Notez que lorsque l'exécution parallèle est activée, il n'est pas possible d'utiliser les variables globales pour retrouver les valeurs de retour dans un sous-Job. Note InformationsAvertissement :
|
Global Variables
Global Variables |
NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier. NB_LINE_UPDATED : nombre de lignes mises à jour. Cette variable est une variable After et retourne un entier. NB_LINE_INSERTED : nombre de lignes insérées. Cette variable est une variable After et retourne un entier. NB_LINE_DELETED : nombre de lignes supprimées. Cette variable est une variable After et retourne un entier. NB_LINE_REJECTED : nombre de lignes rejetées. Cette variable est une variable After et retourne un entier. QUERY : requête traitée. Cette variable est une variable After et retourne une chaîne de caractères. ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case. Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant. Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser. Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables. |
Utilisation
Règle d'utilisation | Ce composant couvre toutes les possibilités de requête SQL dans les bases de données utilisant une connexion SAS. Ce composant est généralement utilisé comme composant de sortie. Il permet de faire des actions sur une table ou les données d'une table d'une base de données MSSql. Il permet aussi de créer un flux de rejet avec un lien Row>Rejects filtrant les données en erreur. Pour un exemple d'utilisation du tMysqlOutput, consultez Retrieving data in error with a Reject link. |
Paramètres dynamiques |
Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté indépendamment d'un Studio Talend. La table Dynamic settings est disponible uniquement lorsque la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List de la vue Basic settings devient inutilisable. Pour des exemples d'utilisation de paramètres dynamiques, consultez Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Paramètres dynamiques et les variables de contexte, consultez Schéma dynamique et Créer un groupe de contextes et définir les variables de contexte. |
Limitation | Lorsque l'option Single Insert Query est sélectionnée dans la liste Action on data, une Instruction Préparée SQL est générée, par exemple, INSERT INTO table (col1, col2, col3) VALUES (?,?,?) , (?,?,?) , (?,?,?) ,(?,?,?) . Entre les parenthèses se trouvent les groupes de paramètres, dont le nombre ne peut en général pas dépasser 2000, selon le pilote JBDC. La taille des lots doit être configurée de manière à respecter cette limite. Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les JAR manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre Studio Talend. Pour plus d'informations, consultez la page Installation de modules externes. |