aws lambda错误加载redshift jdbc驱动程序

时间:2018-03-14 21:55:33

标签: jdbc aws-lambda amazon-redshift

尝试从Aws Lambda加载Redshift jdbc jar时出现以下错误。

  

java.io.IOException:无法加载驱动程序:JAR是否预期但未加载   找到。 java.sql.SQLException:找不到合适的驱动程序   JDBC:红移://insightlyanalytics.c0ubofza4jil.us-west-2.redshift.amazonaws.com:5439 /分析;用户= XXX小时;密码= XXX     在java.sql.DriverManager.getConnection(DriverManager.java:689)at   java.sql.DriverManager.getConnection(DriverManager.java:270)at   com.insightly.GeoPerformanceReports.updateRedshiftTable(GeoPerformanceReports.java:154)

加载jar的代码如下。

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

Redshift jar位于上传到Lambda的jar文件中。

pom.xml依赖关系如下所示。

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

我无法弄清楚出了什么问题。

1 个答案:

答案 0 :(得分:1)

这是一个特别是1.2.10.1009版本的bug,其中的类无法从带有文件名空间的jar加载。他们声称他们已在latest version

中修复了此问题