加载redshift jdbc驱动程序时aws lambda错误 [英] aws lambda error loading redshift jdbc driver
问题描述
尝试从Aws Lambda加载Redshift jdbc jar时出现以下错误.
I get below error when trying to load Redshift jdbc jar from Aws Lambda.
java.io.IOException:无法加载驱动程序:预期为JAR,但不是 成立. java.sql.SQLException:找不到适合的驱动程序 jdbc:redshift://insightlyanalytics.c0ubofza4jil.us-west-2.redshift.amazonaws.com:5439/analytics; user = xxxh; password = xxx 在java.sql.DriverManager.getConnection(DriverManager.java:689)在 java.sql.DriverManager.getConnection(DriverManager.java:270)在 com.insightly.GeoPerformanceReports.updateRedshiftTable(GeoPerformanceReports.java:154)
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)
加载jar的代码如下.
code to load the jar is as below..
Class.forName("com.amazon.redshift.jdbc42.Driver");
Redshift jar位于上传到Lambda的jar文件中.
Redshift jar is located in the jar file uploaded to Lambda.
pom.xml依赖性如下所示.
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.2.10.1009版本中,这是一个错误,其中无法从jar加载带有文件名空间的类.他们声称已在最新版本中修复了该问题
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
这篇关于加载redshift jdbc驱动程序时aws lambda错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!