Une collaboratrice a besoin de récupérer de façon récurrente des informations provenant d’une base de données SQL Serveur

Schéma de fonctionnement

Cette opération se passe en trois étapes :

Workflow de transfert
Workflow de transfert

SQL Serveur- Extraction des données

Sur le serveur SQL serveur, un lot DTSX a été créé pour extraire les informations de la base de données. Le résultat est stocké dans un fichier à plat de type .csv

Extraction Donnees
Extraction Donnees

SQL Serveur – envoi des données

Afin de faciliter l’envoi des données au travers de différents domaines (Windows et Google), j’ai utilisé un composant SMTP SQL serveur

Envoi via SMTP
Envoi via SMTP

Gmail : Réception des données

Le fichier est envoyé en pièce jointe à une adresse paramétrée dans le composant SMTP SQL Serveur

Réception du mail

Google Sheet : Récupération des données

A partir d’un Google Sheet, un script Apps a été développé afin de récupérer le fichier. L’utilisation de la Class GmailApp permet de rechercher un mail nommé (subject) : « Extraction Base Client », ayant un fichier joint de type .csv (filename:csv) et non lu (is:unread). En effet, les filtres sont les mêmes dans la boite Gmail et dans les scripts Apps

IMPORTANT : Le compte d’exécution du script doit être celui de la boite Gmail.

Une fois, le mail récupéré, Les pièces jointes sont traitées via ce script . Afin de faciliter le traitement des données (gestion des caractères locaux), Google offre la Classe Blob avec l’option getDataAsString(charset).

Exemple : en format UTF-8

Gestion des caractères locaux

Remerciements :

Fabien de Tap’n Job pour la collaboration

Goodies :

N’hésitez pas à me contacter pour recevoir le script complet

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here