We need to create JDBC connection for Athena Amazon
Product/components used and version/fix level:
webMethods version 9.12
We are using class: com.simba.athena.jdbc.DataSource
and Connection properties:
jdbc:awsathena://AwsRegion=us-east-1;User=xxxxxxxxx;Password=xxxxxxx;S3OutputLocation=s3://xxxxxxx/athena_query_results/
Error receved:
[ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource AthenaConn:tesAthena.
[ART.118.5036] Adapter Runtime (Connection): Unable to configure connection manager.
[ADA.1.204] Cannot connect to the database with DataSource class “com.simba.athena.jdbc.DataSource”.
Error creating Driver, Driver class name incorrect.
How we can set the parameters to get Athena connection?
Did you check the documentation? I never used or configured this specifically, but it should be in the documentation. I found the datasources below from page 14 of this document
Assuming you already downloaded the JDBC driver and put that to the correct place, it looks like it should connect with your parameters. Where did you put the driver in IS?
According to the document in this link it depends on the version of the driver you are using.
Driver class
Some BI tools ask you to provide the driver class from the JDBC driver .jar file. Most tools find this class automatically. The fully qualified name of the class in the version 3 driver is com.amazon.athena.jdbc.AthenaDriver. In the version 2 driver, the class was com.simba.athena.jdbc.Driver.
Latest JDBC driver version is 10.3. 9.12 jdbc is only 1 version behind. In theory, JDBC adapter can use any driver as long as the driver is supported by the jvm. If the latest driver doesn’t work, previous version should work.
why switching to OracleDatatSource while trying to connect to an Athena Database?
There should be an Athena DataSource class available in the driver.jar.
You are right Holger, I have tested using 3 class names with success:
com.simba.athena.jdbc.Driver
com.simba.athena.jdbc.DataSource
com.amazon.athena.jdbc.AthenaDriver
as far as I found out there are 2 different versions of the Athena JDBC driver, a version 2.x and a version 3.x.
Both versions are using different namespaces for their classes:
Version 2.x: com.simba.athena.jdbc.*
Version 3.x: com.amazon.athena.jdbc.*
Therefore you should check if there is a “com.amazon.athena.jdbc.AthenaDataSource” class available in your athena driver jar for version 3.2.0.
Can you check the JVM version your IS uses? I don’t remember the JVM it was shipped with. If the Java version is below 8 you should update it to use that driver. FYI, both of the drivers require minimum JDK 8.
Not sure why you can’t connect then. Can you try version 2 and see if it connects? Just for verification though, you checked the requirements and apply them if they were not set, right?
can you try to use the athena driver jar with lesser dependencies (the “lean” variant instead of the “uber” variant) then and check if there are dependency conflicts with jars which are already present in common/lib directory or subdirectories thereof?
It is important to find out, why the DataSource class cannot initialize the underlying Driver class.
This might be a class loading issue due to missing or wrong version dependencies.