0
votes

Hello I am trying to connect to SQL 2014 using jdbc (Talend V6.4 or Squirrel give the same error)

Trying to connect to a db using sa credentials (which work on SQL Management Studio, so it is not a matter of wrong pwd), I get connection error saying basically that the access for "sa" has not been successful (I don't have a more meaningful stacktrace, if there is any place where to find it, I would be glad to post it).

Is there anything I should ask our dba to enable in order to allow JDBC connections to that db?

Driver versions: sqljdbc_6.2.2.0 Jdk 1.8 Talend Version 6.4.1 Squirrel version 3.8.1

jdbc url

jdbc:sqlserver://SERVERNAME:1433;databaseName=PM

UPDATE:

Complete stacktrace

com.microsoft.sqlserver.jdbc.SQLServerException: Accesso non riuscito per l'utente 'sa'. ClientConnectionId:ff3ce3cd-a6a8-49c4-81ef-91ff737d13f1 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:256) at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:108) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4290) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3157) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:82) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3121) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7151) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2478) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2026) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569) at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45) at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

1
Please post the full exception stacktrace, and include the JDBC-url used.Mark Rotteveel
Yes, sorry... added the exception and the jdbc urlvindalooman

1 Answers

0
votes

At the end it comes out it's all related to the particular installation the customer did of that SQL 2014. It looked like it worked on 1433... it worked on 1433 for MS native clients, but actually it was configured to use dynamic... So we had to configure Squirrel to run "without" port and Talend connector to work on 51889 (SQL Server Dynamic port).

So at the end it was a mere problem of configuration and a weird message by SQL Server (something like "incorrect port: use dynamic port instead" would have been much appreciated :) )