Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

"Guess Query" and "Guess schema" fail when connecting to sql server datawarehouse

I am using JDBC to connect to an azure sql server data warehouse.

 

I am able to connect and pull data and log rows fine, but when I attempt to use the "Guess Query" and "Guess schema" functions, I get a "Client driver version is not supported"

 

It appears that the guess query/guess schema functions are trying to connect via jtds and not jdbc, which is not supported by azure sql server data warehouse.

 

Is there a fix for this? 

 

Labels (4)
11 Replies
Anonymous
Not applicable
Author

Hi,

Could you please also indicate on which talend build version you got this issue? More information will be helpful for us to address your issue.

Best regards

Sabrina

Anonymous
Not applicable
Author

I am using Talend Open Studio for Data Integration version 6.4.1.20170623_1246.

I am using this on a Mac. 

Anonymous
Not applicable
Author

Hello,

What does your input query look like? The screenshots of your DB connection parameter will be preferred. Please mask your sensitive data.

Best regards

Sabrina

Anonymous
Not applicable
Author

This is whats in the input component.

The tablename and columns are replaced with valid objects. 

When I do an actual run of the job, everything works. Its only hitting the guess query that throws a driver not supported error.

 

0683p000009Lvhj.png0683p000009LvSs.png

Anonymous
Not applicable
Author

Hello,

You can execute your job successfuly without this unsupported driver?

Did you get any mark(yellow or red) on your DB component? What's a driver you are missing?

Best regards

Sabrina

Anonymous
Not applicable
Author

Hello,

 

Yes - I can run the job with no problems.  Its only when I click "guess schema" that it fails. (I thought guess query failed too but that actually works)

 

I am not getting any yellow or red dots. 

 

I am not missing any drivers. When jtds was not installed, it prompted me to install it when I click guess schema.

 

The issue is that guess schema attempts to use the jtds driver instead of jdbc, the latter which everything is setup for, is used when executing the job.

 

This is the full error stack

Database connection is failed.
  java.lang.RuntimeException: java.sql.SQLException: Client driver version is not supported.
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1095)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:315)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:301)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.checkConnection(GuessSchemaController.java:923)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.useMockJob(GuessSchemaController.java:760)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.createButtonCommand(GuessSchemaController.java:222)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController.access$0(GuessSchemaController.java:212)
      at org.talend.designer.core.ui.editor.properties.controllers.GuessSchemaController$1.widgetSelected(GuessSchemaController.java:197)
      at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
      at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4188)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475)
      at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
      at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4031)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3658)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
      at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
      at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
      at org.talend.rcp.intro.Application.start(Application.java:255)
      at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
  Caused by: java.sql.SQLException: Client driver version is not supported.
      at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
      at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)
      at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)
      at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:632)
      at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:371)
      at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
      at org.talend.core.model.metadata.builder.database.DriverShim.connect(DriverShim.java:41)
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:186)
      ... 38 more

 

Anonymous
Not applicable
Author

Hello,

What's azure sql server data warehouse version you are using? What's the JDBC jar version?

Best regards

Sabrina

Anonymous
Not applicable
Author

Hello,

 

The data warehouse is: Microsoft Azure SQL Data Warehouse - 10.0.9156.4 Jul 6 2017 22:59:41 

 

The jdbc driver is Microsoft JDBC Driver 6.2 for SQL Server (https://www.microsoft.com/en-us/download/details.aspx?id=55539)

 

This is the driver they link too from their help docs: https://docs.microsoft.com/en-us/sql/connect/jdbc/using-the-jdbc-driver

Anonymous
Not applicable
Author

You were able to solve the issue? It seems that I hit the same problem and it would be great to know how you solved this issue