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

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.

Note InformationsRemarque : Ce composant est une version spécifique d'un connecteur à une base de données dynamique. Les propriétés associées aux paramètres de la base de données dépendent du type de base de données sélectionné. Pour plus d'informations concernant les connecteurs dynamiques de bases de données, consultez Composants génériques de bases de données.
Note InformationsRemarque : Lorsque vous construisez un Job en tant que bundle OSGI pour ESB, les pilotes jtds et mssql-jdbc de MS SQL Server utilisés par les composants SQL Server ne sont pas inclus dans l'artefact du build. Pour exécuter l'artefact dans Talend Runtime, vous devez déployer les pilotes manuellement en copiant les pilotes dans le dossier <TalendRuntimePath>/lib et en redémarrant Talend Runtime.

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.

  • Built-in : propriétés utilisées ponctuellement sans stockage dans le référentiel.
  • Repository : sélectionnez le référentiel dans lequel sont stockées les propriétés. Les champs suivants sont automatiquement renseignés à l'aide des données récupérées.

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.
  1. au niveau du Job parent, enregistrer la connexion à la base de données à partager dans la vue Basic settings du composant de connexion créant cette connexion à la base de données.
  2. au niveau du Job enfant, utiliser un composant de connexion dédié afin de lire cette connexion enregistrée.

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.

Schéma

Nom exact du schéma.

Database

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

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 :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

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 Azure AD Authentication 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.

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.

  • Name : saisissez le nom de la colonne du schéma à modifier ou à insérer en tant que nouvelle colonne.
  • SQL expression : saisissez l'instruction SQL à exécuter afin de modifier ou d'insérer les données de la colonne souhaitée.
  • Position : sélectionnez Before, Replace ou After selon l'action à effectuer sur la colonne de référence.
  • Reference column : saisissez une colonne de référence que le composant tDBOutput peut utiliser pour placer ou remplacer la nouvelle colonne ou la colonne modifiée.

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.

Cette case est disponible uniquement si vous avez choisi l'option Insert, Update, Single Insert Query ou Delete dans la liste Action on data.

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 :
  • Cette option s'applique aux lots de requêtes si vous utilisez le pilote JDBC fourni par Microsoft (en sélectionnant Microsoft dans la liste déroulante JDBC Provider). Elle s'applique aux requêtes individuelles si vous utilisez le pilote JTDS (en sélectionnant Open source JTDS dans la liste déroulante JDBC Provider).
  • Cette option est disponible uniquement si vous avez installé la mise à jour mensuelle R2021-12 du Studio Talend ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

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 :
  • Saisir le nombre d'exécutions parallèles désirées.
  • Appuyer sur les touches Ctrl +Espace et sélectionner la variable de contexte appropriée dans la liste. Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables.

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 :
  • Le champ Action on table n'est pas disponible avec la fonction de parallélisation. Ainsi, pour créer une table, vous devez utiliser un composant tCreateTable.
  • 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.

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 composant tMysqlOutput, consultez Récupérer les données erronées à l'aide d'un lien Reject.

Dynamic settings

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.

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 – dites-nous comment nous améliorer !