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 .
Best Answers
-
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.
-
tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,598 Neuron
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.
Answers
-
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. -
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
-
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 ..
-
the SQL Server Database Engine listens on port 1433 for TCP/IP connections, which leave it to one suspect : the firewall
-
tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,598 Neuron
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.
-
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 !
-
tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,598 Neuron
Cool. Thanks for sharing. What you have just written here. It may help someone else who finds themself with the same challange.
-
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
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.
-
Yes sir that's whats community is about , glad to be a part of it .