Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE

Installing Drivers for your Qlik Data Gateway

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
Dalton_Ruer
Support
Support

Installing Drivers for your Qlik Data Gateway

Last Update:

Jul 25, 2023 9:31:57 AM

Updated By:

Dalton_Ruer

Created date:

Feb 13, 2023 10:17:36 AM

Attachments

FedoraLinux1.png

Purpose

The purpose of this post is to help you install the database drivers necessary to allow your Qlik Data Gateway to communicate with your company's servers once you have completed the Qlik Data Gateway installation itself. 

Background

If you are anything like me, perhaps you panicked a bit at the thought of installing the Qlik Data Gateway in a Linux environment. I have a lot of experience with .EXE installations in Windows environments. You know "Next – Next – Next – Finish." But an .RPM file?  I had never even see that extension type before. If you were a Linux connoisseur beforehand, you probably guessed that my image for this post is an homage to the Fedora flavor of Linux. Otherwise you just thought it was an advertisement for the new "Raiders of the Lost Data" movie.

In any event, by now you have created your first Data Gateway, applied the registration key, completed the setup instructions and thankfully the command to check your Data Gateway service shows that it is running.

RepagentServiceStatusShowsRunning.png

When you go back to the Data Gateway section of the Management Console and do a refresh your eyes fill you with happiness because your brand spanking new Data Movement Gateway shows "Connected.”

DataGateway_Connected.png

 A lesser person would go celebrate right now. But you've decided to try and connect to a source before doing your happy dance. So, you create a new Data Integration project to the destination of your choice. While you will ultimately have many different data sources, let's imagine that you decide to start with a "SQL Server (Log Based)" connection, as your first source test.

You input the server connection details, but your SQL Server doesn't use a standard port for security. Finally, you find information online that you should input your server IP followed by a "comma and the port #". As an example, if your servers IP is 39.30.3.1 and your security port is 12345 you would input "39.30.3.1,12345'. Next you input the user and password credentials. Your last step is to choose the database. Easy peezy, lemon squeezey. Right?

DatabaseProperties.png

You press the "Load databases" button but suddenly a dialog comes up telling you that the Data Gateway can't connect because it can't find a SQL Server driver.

 SettingUpSQLServerErrorMissingODBCDriver.png

Driver Installation

Your heart starts beating quickly but naturally as a pro, you remain calm on the outside. Eventually you realize that whether on Windows or Linux, applications have always required drivers to communicate with servers. This is nothing new, we just got excited when we saw that connected message and thought we were done. Upon going back to the setup guide

[https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-sett...]

you realize that there is in fact a link labeled "Setting up Data Gateway – Data Movement source connections."

So, you go ahead and click the link and it takes you to:

https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/... 

Wow, so many sources, and so many additional links to click to ensure the required drivers are in place for the sources your company will need. All the documentation is there, but I know firsthand that it can get a bit overwhelming, especially if Linux isn't your native language, which is the reason for this post.

Obviously every one of you reading this works in an environment that may require different data source connections than the others. Thus, there is no way for me to predict and help with your exact configuration. However, odds are strong that most of you likely require at least: SQL Server, Databricks, Snowflake, Postgres or MySQL, various combinations of them, or perhaps all of them.

As tedious, or imposing as it may be, I highly recommend you walk through the documentation for each data source you will need. But thanks to my buddy John Neal, I have attached a Linux shell script that can be executed to configure all 5 of those data sources for you. Given the many flairs and versions and configurations of Linux I can't ensure that it will work for everyone, but at least it is a start for those that may want to press an easy button, and those that like me may be somewhat or brand new to Linux.

If you choose to take advantage of it, understand that it is only being offered a shelp, and is not meant to replace the documentation. To utilize it you will need to do the following (Please note in my examples I have changed to the root user. If you are logged in as a normal user account, you may need to use SUDO "super user do"):

  1. Copy the attached "repldrivers-el7.sh.txt" file your Linux home directory where you placed the gateway .RPM file.
  2. Change the file name to simply be "repldrivers-el7.sh" so that it's clear that it is a shell script in case you or others see it in the future.
  3. Issue the following command from your prompt: "chmod 775 repldrivers-el7.sh" so that the file has the appropriate security allowing it to be executed.
  4. Issue the following command from your prompt: "./ repldrivers-el7.sh"  
  5. Issue the following command from your prompt: "cd /etc"
  6. Issue the following command from your prompt: "cat odbsinst.ini"    

If all went well with the installation your output should look like similar to the following image that was part of my file:

SettingUpSQLServerLinuxOdbcInst.iniAfterCommand.png

It's almost time to do our happy dance, but let's hold off until we test. In my starting example I asked you to assume we wanted to test against a "SQL Server (Log Based) connection." When we left off it was because we got an error message we had no driver while trying to load the list of databases. I will try that again.

DatabaseProperties.png

 Oh no, the heart rate is going up again. 

SettingUpSQLServerTimeoutDriverThereFirewallIssue.png

We have successfully installed the Qlik Data Gateway. We have successfully installed the required drivers. Yet, we are getting this new error message. Let's focus on our breathing and try and digest the situation. What could cause our attempt to connect to our data source to timeout? I got it.

It's likely network security. We know what we want to talk to. We know the location. We know the credentials. But our networks aren't always wide open to do the talking. Resolving your connectivity/firewall issues may or not be with your abilities and if you are like me, you may need to seek the help of your IT/Networking team.

When I reached out to my friendly IT guru, here within Qlik, he was able to help me get everything in place so that my Linux server could speak with my database servers, including all of the needed ports.

Once they were completed I was able to test and sure enough my data connection succeeded.

 SuccessMessageAfterFirewallConfiguration.png

Whether or not you do a happy dance, as I did, I hope that this post has helped you get to that sweet smell of success. After all, someone has to be known as the amazing person who got your Qlik Data Gateway going so that others in the Data Engineering team could create all of those lights out Qlik Cloud Data Integration projects that would be feeding data in near real time to all of those wonderul analytics use cases. Hopefully with the help of the documentation and this post, that person is you my friends. 

CoderWithBubblesAndMatrix.png

 

Challenge 

One of the things I've long admired about the Qlik Community is their willingness to help each other through this Community site. If you are a Linux guru and are so inclined I would love to see you share other versions of the shell script that I have started. Maybe your organization is using another flair/version of Linux and you needed to make a few tweaks to my file. Maybe your organization needed Oracle added and you can tweak my file. Whatever the reason, I sure hope you will give back to the community by sharing all of those tweaks here. Who knows, your help might help them be able to do their happy dance. And we all know the world is a better place when more people do their happy dance. 

 

Related Content 

Qlik Data Gateway - Data Movement prerequisites and Limitations - https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-prer...

Setting up the Data Movement gateway - https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-sett...

 

PS - I created both of the images here using a generative AI solution called MidJourney. I hope they've added to the fun of this post. 

Comments
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Thanks Dalton. Like always helping a lot. 

yuvarajrajangam
Contributor
Contributor

Can you provide me steps to configure source end point connection as sql server where I need to have the transaction log from azure storage container (blob storage).  

Sonja_Bauernfeind
Digital Support
Digital Support

Hello @yuvarajrajangam 

If you are looking for information on how to configure Qlik Cloud Data Integration services (such as Data Gateway), please post your requirements directly into our Qlik Cloud Data Integration forum.

All the best,
Sonja 

Contributors
Version history
Last update:
‎2023-07-25 09:31 AM
Updated by: