aws lambda error loading redshift jdbc driver

邮差的信 提交于 2020-01-05 08:31:52

问题


I get below error when trying to load Redshift jdbc jar from Aws Lambda.

java.io.IOException: Unable to load driver: JAR expected but not found. java.sql.SQLException: No suitable driver found for jdbc:redshift://insightlyanalytics.c0ubofza4jil.us-west-2.redshift.amazonaws.com:5439/analytics;user=xxxh;password=xxx at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:270) at com.insightly.GeoPerformanceReports.updateRedshiftTable(GeoPerformanceReports.java:154)

code to load the jar is as below..

Class.forName("com.amazon.redshift.jdbc42.Driver");

Redshift jar is located in the jar file uploaded to Lambda.

pom.xml dependency looks as below.

    <dependency>
        <groupId>com.amazon.redshift</groupId>
        <artifactId>redshift-jdbc42-no-awssdk</artifactId>
        <version>1.2.10.1009</version>
    </dependency>        
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>1.11.255</version>
    </dependency>

I am unable to figure out what is going wrong.


回答1:


It was a bug in particular 1.2.10.1009 version, where class couldn't be loaded from jar with space in filename. They claim they fixed it in latest version



来源:https://stackoverflow.com/questions/49288246/aws-lambda-error-loading-redshift-jdbc-driver

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!