Four Stars

"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? 

 

  • Data Integration
8 REPLIES
Moderator

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

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

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

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

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

I am using this on a Mac. 

Moderator

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

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

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

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

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.

 

Screen Shot 2017-08-23 at 9.11.37 AM.pngScreen Shot 2017-08-23 at 9.06.51 AM.png

Moderator

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

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

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

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

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

 

Moderator

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

Hello,

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

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Four Stars

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

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