簡體   English   中英

找不到適用於jdbc:amazonaws的驅動程序

[英]No suitable driver found for jdbc:amazonaws

我正在嘗試使用JDBC連接到亞馬遜Athena。 由於在maven上找不到AthenaDriver存儲庫,因此我在github上自己創建了該存儲庫。 基本上我在做什么是這樣的:

pom.xml中:

<repository>
    <id>mvn-rep</id>
    <name>maven repository</name>
    <url>https://github.com/raphael-psr/maven-repository/raw/master/</url>
</repository>
<dependency>
    <groupId>com.amazonaws.athena.jdbc</groupId>
    <artifactId>AthenaJDBC41</artifactId>
    <version>1.1.0</version>
</dependency>

Java的:

class.forName("com.amazonaws.athena.jdbc.AthenaDriver");

Properties properties = new Properties();
properties.setProperty("user", user);
properties.setProperty("password", password);
properties.setProperty("aws_credentials_provider_class", "amazon.AmazonCredentialsProvider");

Connection connection = DriverManager.getConnection("jdbc:awsathena://athena." + region + ".amazonaws.com:443", properties);

引發異常:

java.sql.SQLException:找不到適用於jdbc:amazonaws://athena.us-east-1.amazonaws.com:443的驅動程序

有人知道這可能是什么嗎?

  1. 也許您想從以下網址下載JDBC驅動程序: https//s3.amazonaws.com/athena-downloads/drivers/AthenaJDBC41-1.1.0.jar

  2. 您可以將其安裝在自己的Maven存儲庫中:

     mvn install:install-file -Dfile=/home/users/User01/Documents/AthenaJDBC41-1.1.0.jar -DgroupId=com.amazonaws.athena.jdbc -DartifactId=athenaJDBC -Dpackaging=jar 
  3. 然后,您可以在pom.xml中引用它:

在此處輸入圖片說明

讓我知道這是否對您有幫助。

PS:不知道為什么代碼格式化在我的計算機上不起作用。 我嘗試了三種不同的瀏覽器,但我期望遇到同樣的問題。

https://s3.amazonaws.com/athena-downloads/drivers/AthenaJDBC41-1.1.0.jar下載Jar

將罐子添加到您自己的Maven存儲庫

mvn install:install-file -Dfile=/home/sumit/Downloads/AthenaJDBC41-1.1.0.jar -DgroupId=com.amazonaws.athena.jdbc -DartifactId=athenaJDBC -Dversion=1.1.0 -Dpackaging=jar

-Dfile值更改為您下載的jar路徑。 如果需要,請更新-Dversion

向您的pom.xml添加依賴項

<dependency>
    <groupId>com.amazonaws.athena.jdbc</groupId>
    <artifactId>athenaJDBC</artifactId>
    <version>1.1.0</version>
</dependency>

我在使用Clojure開發Spark作業時使用JDBC42版本2.0.2的驅動程序遇到了這個問題。 盡管存在這些差異,但我認為答案可以轉換,並且我從Spark Unable找到了JDBC Driver

我相信您需要將Properties對象中的driver屬性設置為Athena Driver類,即

properties.setProperty("driver", "com.simba.athena.jdbc.Driver");

這對於2.0.2版本是正確的。 在你的情況下應該是

properties.setProperty("driver", "com.amazonaws.athena.jdbc.AthenaDriver");

我不知道為什么Class.forName不夠。 我還必須構建自己的Maven軟件包以包括在內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM