Community Conundrum 25: Feature Visualization is now live! Read More

Failed Connection to MS SQL SERVER

Level 3
Failed Connection to MS SQL SERVER

I tried to test Dataiku DSS with my dataset earlier and I have faced some issues.

My data is stored in MS SQL SERVER in my local machine, I have installed Dataiku in a Linux virtual machine.

Attached is a screenshot of the error I got .


Any help would be appreciated . 

 

 

0 Kudos
11 Replies
Dataiker
Dataiker

This appears as though the JDBC you are using is incompatible and you need to use another. What version of the Microsoft SQL Server JDBC JAR file did you place in the DSS directory? You may be using the 43 version try replacing it with 41 or 42.

Level 3
Author

Hello @GCase , thanks for your quick reply! 

I've been going through some docs and I have solved that finally , and YES the JAR file was the issue since the latest version seems to not be compatible with my java version!

Next error I got could be port or firewall related , would you be interested to help ? 

Screenshot is attached !

Thanks in advance sir.

0 Kudos
Dataiker
Dataiker

DSS can't find the location of your server. If you're trying to connect to a local SQL server then use

localhost 

as your Host name

0 Kudos
Level 3
Author

I am running DSS on a Virtual Machine. 
My database is in my local pc which is not localhost.

I'm using a typical database engine as server type , SQL authenfication type , a user and a password , not sure of the port number or if the firewall is allowing the connection yet, that's what I thought of ..

0 Kudos
Level 6

The setup of your virtual machine's network connection may also have an impact on how you connect as well.   There are several different approaches.

I do not have a great answer for you.  

I might try to use telnet to work out the hostname and if the port will accept a connection.  Here is a bit of a description of that approach.

https://www.thegeekdiary.com/how-to-test-porttcp-udp-connectivity-from-a-linux-server/

Good luck.  Do let us know what you end up working out.

--Tom
Dataiker
Dataiker

If you are running DSS inside the VM and connecting to your local SQL Server Express instance in the host then you need to open up the firewall so the Linux instance can connect to your host. Make sure the ports 1433 and 1434 are are open to connecting to on the host. If you have Windows Firewall or equivalents they are likely blocking the connection. In your hostname in DSS, you should use the

HTTP://<YourHostIPaddress>

This should be the IP address behind your router - something like 192.168.XXX.XXX or something.

Named instances of SQL Server allow for connecting to different SQL Server instances on different ports of the same host. Just using the IP address of the host + the correct port number I believe should allow you to connect from DSS to SQL Server Express.

 

@Khaled_BH 

Level 3
Author

the SQL Server Database Engine listens on port 1433 for TCP/IP connections, which leave it to one suspect : the firewall 

0 Kudos
Level 6

In reading the error.  It appears that you have a version mismatch between the version of Java running on your VM and the version of the JDBC driver you have installed in your DSS instance.

Did you install or upgrade any of these when installing the VM?

Just my $0.02 in case it is helpful.

--Tom
0 Kudos
Level 3
Author

Thanks @tgb417 for your answers ! I have already fixed this error by replacing the JRE file under /lib/ jdbc from latest version (14) to version (8). 

These numbers are not random because when you download and extract the JRE file , you will find these 3 versions of JRE, 8,11 and 14, I copied the latest version as anyone would do but It wasnt compatible as I wasn't aware of which java version I have .

Attached screenshot of the download JAR file.

 

Thanks alot !

Level 6

Cool.  Thanks for sharing. What you have just written here. It may help someone else who finds themself with the same challange.

--Tom
0 Kudos
Level 3
Author

Yes sir that's whats community is about , glad to be a part of it .