Traiter des données SQL Server avec Power BI et Talend

4 septembre 2022

Nous sommes régulièrement amenés sur des problématiques de connexion entre SQL Server et Talend avec une utilisation de Power BI Desktop comme outil de visualisation.

Talend est un ETL (Extract, Transform and Load) comme Power Query de Power BI. Cet ETL permet d’extraire et transformer les données d’une source puis les recharger vers une destination.

Vous pouvez vous servir de Talend pour la partie ETL et Power BI pour la partie visualisation.

Nous allons voir dans cet article comment se connecter à SQL Server avec Talend puis se servir de Power BI comme outil de visualisation.

Dans notre exemple nous allons partir d’un serveur Azure Microsoft.

Ci-dessous dans notre plateforme Microsoft Azure nous allons accéder à notre base de données « projet_bdd ».

Nous avons deux connexions à réaliser. La première est la connexion de SQL Server au serveur Azure en utilisant la base de données « Projet_bdd ». La seconde est la connexion de Talend à SQL Server.

Afin d’assurer les différentes connexions que nous allons faire par la suite nous avons besoin de conserver les informations suivantes :

  • Le nom de la base de données : « projet_bdd ».
  • Le mot de passe.
  • Le nom du groupe de ressource ou nom de l’administrateur : « projet ».
  • Le nom du serveur (un serveur Azure finit par « .net »).

Une fois ces informations récupérées nous allons avoir besoin de récupérer la chaine de connexion « JDBC » dont Talend aura besoin pour se connecter à SQL Server. Cliquons sur « Afficher les chaines de connexion de la base de données ».

Nous allons stocker quelque part cette chaîne de connexion.

Nous retournons sur l’administrateur de la base de données et cliquons cette fois sur « Définir un pare-feu de serveur ». Nous allons avoir besoin de gérer les accès à la base.

Ici nous allons pouvoir renseigner les adresse IPv4 autorisées à travailler sur la base.

Pour rappel, pour récupérer votre adresse IP vous pouvez utiliser l’utilitaire de commande en ligne : « ipconfig ».

Nous allons maintenant ouvrir SQL Server et paramétrer notre connexion à la base de données. Il vous sera demandé le nom du serveur, le nom du groupe de ressource ou l’administrateur et le mot de passe.

Nous pouvons maintenant ouvrir Talend.

Nous allons configurer la connexion de Talend sur SQL Server.

Pour ce faire,  dans « Métadonnées » nous allons par un clic droit sur « Connexions de bases de données » sélectionner « Créer la connexion ».

Dans la fenêtre ouvrante, nous allons donner un nom à notre connexion : « fournisseur ». Cliquons sur « Next ».

Puis nous complétons les éléments suivants :

  • Le type de la base de données.
  • La chaîne de caractères récupérée dans le serveur Azure.
  • Le nom du groupe de ressource d’Azure ou l’administrateur.
  • Le mot de passe.
  • Le nom du serveur (fini en « .net »).
  • Le port qui sera généralement 1433.
  • Le nom de la base de données.
  • Eventuellement le schéma de données qui a été conçu dans SQL Server.

Vous pouvez rencontrer des erreurs de connexions. Nous vous en proposons deux assez communes.

La première il peut vous manquer le fichier « mssql-jdbc.jar ». C’est le fichier qui va permettre à Talend de reconnaitre la chaîne de caractères que vous avez récupérée sur la plate-forme Azure.

Java lève une exception : « java.lang.RuntimeException » puis « microsoft.sqlserver.jdbc.SQLServerDriver ». Java ne retrouve pas le fichier « mssql-jdbc.jar ».

Vous allez devoir retrouver le fichier sur internet et l’importer manuellement dans Talent en allant cliquer sur « Action » comme ci-dessous.

Dans un premier temps contrôlez votre version de java avec l’utilitaire de commande en ligne : « java -version ». Dans cet exemple nous avons la version 18.

Ensuite tapez sur google le nom du fichier à trouver. Sur le site de Microsoft ci-dessous vous pouvez télécharger un fichier « .zip » dans le langage souhaité.

Une fois téléchargé, ouvrez-le et retrouvez le fichier « mssql-jdbc-11.2.0.jre… » dans l’arborescence du dossier en faisant bien attention à votre version. Dans notre exemple nous avons vu que nous cherchons la version 18.

Puis retournez dans Talend configurer la connexion au serveur et cliquez sur « Action » puis récupérez le fichier récupéré.

La deuxième erreur plutôt fréquente est liée au paramétrage du protocole de SQL. Ouvrez « Sql Server Configuration Manager ». Vérifiez si tous les statuts des éléments présents dans les protocoles pour SQL Server sont activés. Si ce n’est pas le cas, activez ceux qui ne le sont pas par un clic-droit dessus.

Puis accédez aux propriétés de TCP/IP par un clic droit.

Dans la fenêtre ouvrante, positionnez dans l’onglet « Adresse IP » et cherchez au niveau de « IPAII » si le port TCP utilisé est bien 1433.

Redémarrez le service SQL Server comme ci-dessous sinon l’erreur va persister.

Relancez Talend. Retournez sur la fenêtre de configuration de la connexion et assurez-vous que le port utilisé est le bon.

Une fois connecté nous glissons la connexion directement dans le job ce qui va créer automatiquement le bon composant. Pour bien paramétrer le composant, nous veillons à bien configurer le schéma et cliquer sur « Guess Query » sauf si nous avons déjà une requête SQL de prête. Pour le reste, tout devrait être prérempli grâce à la configuration que l’on a faite de SQL Server.

Nous avons ajouté un composant « tmap » qui va nous permettre de fusionner nos tables.

Puis nous utilisons un composant « tFileOutputExcel » pour ressortir un fichier Excel sur lequel on se connectera avec Power BI. Veillez à bien configurer votre composant. Vous pouvez constatez que nous n'avons pas coché "Ecrire au format de fichier Excel 2007 (.XLSX)".  Cochez le si vous constatez par la suite que Power BI refuse l'intégration du fichier final.

Enfin nous ouvrons Power BI.

Puis nous récupérons le fichier Excel final qui est la transformation des données effectuées sous Talend.

Après cette étape-là vous pourrez construire vos visuels sous Power BI Desktop.

Talend vous permet aussi de restituer les données directement dans SQL Server. Ainsi vous pouvez connecter Power BI sur SQL Server et récupérer uniquement la table transformée.

Nous espérons que ce tutoriel va vous aider à configurer correctement vos outils. Notre équipe restons à votre disposition pour toutes questions !

A très bientôt chez MYPE : )

Articles en relation

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram