Hoe maak ik een verbinding vanuit Talend DI met een Azure database?

Talend biedt momenteel geen standaard component aan in zijn DI toolset om met een SQL Server database te connecteren op Azure, Microsoft’s Cloud oplossing. Het standaard SQL Server component kan niet gebruikt worden om een verbinding te maken met de databank. Dit is enkel van toepassing voor versies onder Talend 6.0, vanaf deze versie kan je via de standaard SQL Server componenten verbinden met Azure.

De oplossing

Toch is er een oplossing door gebruik te maken van een JDBC connectie! In deze blogpost gaan we je gidsen om een eigen verbinding met een Azure database op te zetten.

Laten we beginnen met de  juiste JDBC-driver te downloaden en te installeren. Op volgende url vind je de benodigde driver:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774

Eens deze gedownload is kan je deze installeren en importeren in Talend via het Modules-panel:

  • Importeren van de driver

Het tabblad modules kan je aanklikken via windows -> preferences, indien dit niet standaard tussen je tabbladen verschijnt.

De driver is geinstalleerd en geimporteerd in Talend. Dit zorgt ervoor dat hij ook in de juiste folder in je workspace zal staan zodat hij kan opgeroepen worden indien nodig.

De volgende stap bestaat uit  het maken van een verbinding in Talend Studio.

In je repository heb je onder metadata, DB connections staan.

  • DB Connections

Hier kan je een nieuwe verbinding maken.

  • Een nieuwe verbinding maken

De volgende stap is de gegevens invullen dewelke je nodig hebt:

  • Databasegegevens aanvullen

De JDBC URL is als volgt: jdbc:sqlserver://denaamvanjeserver:depoortvanjeserver;databaseName=denaamvanjedatabase

Als je deze ingegeven hebt ga je naar de jar van je driver gaan. Deze is reeds geinstalleerd en daarbij klik je op ‘Add’. Let op! Voor de verbinding met Azure heb je de juiste van de twee drivers nodig.

  • Selecteer de jar

Wees zeker dat je ‘sqljdbc4.jar’ neemt. Deze zal ervoor zorgen dat je verbinding zal werken.

De Class Name moet uit de Jar komen en kan je zo selecteren:

  • Classname selecteren

De login en het wachtwoord zijn de login en het wachtwoord die je nodig hebt om te verbinden met de database.

De Mapping file verschijnt normaal vanzelf na het selecteren van de class name.

Anders kan je deze ook steeds zo selecteren en importeren:

  • Mapping selecteren en importeren

Als je deze manueel selecteert kies je: mapping_Mysql.xml. Op Ok klikken en de mapping zit erin.

Bij Check connection kan je zien of het werkt. Als er een fout is geeft hij deze ook weer en kan je deze proberen te achterhalen:

  • Connectie checken en vb error

In dit geval raak ik bv niet verbonden. Niet omwille van een probleem met de driver in Talend maar omdat ik op de Azure server niet ben toegelaten met het ip-adres van mijn werkstation.

Nadat mijn ip-adres toegevoegd werd op de azure portal firewall kan wel een verbinding tot stand komen.

Eénmaal de verbinding met Azure is gemaakt, kan je die in een laatste stap in gebruik nemen.

Dat is in Talend heel simpel. Je sleept je net gemaakte database verbinding in de job waar je deze wil gebruiken en je kiest de component waarmee je wilt werken:

  • Connectie is aangemaakt

  • JDBC Input selecteren met jouw connectiedetails

Om dan helemaal volgens de regels van de kunst te werken kan je het schema van de tabel waarmee je wenst te werken meteen opnemen in de metadata:

  • Schema achterhalen van de tabel

Met als gevolg dat je 1) de verbinding nog eens test, en 2) je het schema uit de repository kan ophalen en daarop meteen kan verder werken.

  • Component met verbinding en dus driver gemaakt

Succes ermee!