Issue with Qubole Presto JDBC connection from Denodo

HI Team, I am trying to establish JDBC connection from Denodo to Qubole Presto cluster but I am getting below error while establishing the connection. I downloaded and copied the QUbole JDBC driver to $DENODO_HOME/<path> where we usually keep our third party JDBC drivers. I was able to browse to this classpath from VDP. I gave the driver class details (https://docs.qubole.com/en/latest/connectivity-options/use-qubole-drivers/JDBC-driver/use-jdbc-driver.html#use-jdbc-driver) and API token details. I looked at the permissions and had given same permissions as other JDBC drivers(which are working fine). But this particular connection gives below eeror while testing the connection. As its throwing errors related to AWS SDK , I have downloaded AWS SK jar files too and have them placed in the classpath(which I am able to browse through from VDP) FYI.. the same connection setup , like the JDBC driver, class, credentials are working fine when I tried using MSSQL workbench. JDBC driver: https://s3.amazonaws.com/paid-qubole/jdbc/qds-jdbc-2.0.2.jar Driver Class: com.qubole.jdbc.jdbc41.core.QDriver AWS SDK jars: aws-java-sdk-1.11.602.zip Denodo VDP version: Version 6.0 ****Error:**** Unable to establish connection: java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.shaded.qubole.services.s3.internal.S3ErrorResponseHandler
user
01-08-2019 12:37:37 -0400

2 Answers

Hi, I have been able to successfully connect to Qubole through below steps: 1. Create a folder in the path *<DENODO_HOME>/lib/extensions/jdbc-drivers/ *and add the JDBC drivers qds-jdbc-2.0.2.jar and [org.motechproject.com.bea.xml.stream-1.2.0.jar](https://mvnrepository.com/artifact/com.bea.xml.stream/org.motechproject.com.bea.xml.stream/1.2.0). 2. In VDBConfiguration.properties file available in the path *<DENODO_HOME>/conf/vdp/*, append the JVM property *-Djavax.xml.stream.XMLInputFactory=com.bea.xml.stream.MXParserFactory* in the parameter **java.env.DENODO_OPTS_START** under JVM options section. 3. Once done, restart the Virtual DataPort server. 4. In JDBC data source configuration, Set the *Driver class path* to the Qubole driver folder created in Step 1. 5. Input the *Driver class, Database URI* and Authentication Details. 6. Test and save your connection. 7. I used the Create from Query option to create a Base view. For more information, you could refer to section [JDBC Sources](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/creating_data_sources_and_base_views/jdbc_sources/jdbc_sources#jdbc-sources) of Virtual DataPort Administration Guide. Hope this helps!
Denodo Team
12-08-2019 00:51:58 -0400
HI, The above approach resolved the issue. Thank you.
user
12-08-2019 17:33:29 -0400
You must sign in to add an answer. If you do not have an account, you can register here