使用JDBC连接AWS Redshift

Nic*_*ick 2 java jdbc amazon-web-services

我想使用JDBC连接数据并将数据插入到我的Amazon Redshift表中.我编写了以下代码,但在Class.forName行继续收到错误

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class RedShiftDataEmitter {
    static final String redshiftUrl = "jdbc:redshift://xxxxxxxxx:5439/xxxxxx";
    static final String masterUsername = "xxxxxxx";
    static final String password = "xxxxxxx";

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;

        try {
            Class.forName("com.amazon.redshift.jdbc41.Driver");
            Properties properties = new Properties();
            properties.setProperty("user", masterUsername);
            properties.setProperty("password", password);
            connection = DriverManager.getConnection(redshiftUrl, properties);
            // Further code to follow
        } catch(ClassNotFoundException cnfe) {
            cnfe.printStackTrace();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

只是单挑,我可以使用SQL Workbench连接到同一个集群.我的pom.xml如下

<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-redshift -->
  <dependency>
      <groupId>com.amazon.redshift</groupId>
      <artifactId>redshift-jdbc41</artifactId>
      <version>1.2.1.1001</version>
  </dependency>
Run Code Online (Sandbox Code Playgroud)

Vim*_*iya 7

  1. 首先在pom.xml中添加存储库,

<repositories>
  <repository>
      <id>redshift</id>
      <url>http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release</url>
  </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

  1. 现在添加Amazon redshift Driver jar maven dependeny

<dependency>
  <groupId>com.amazon.redshift</groupId>
  <artifactId>redshift-jdbc42</artifactId>
  <version>1.2.1.1001</version>
</dependency>  
Run Code Online (Sandbox Code Playgroud)

使用此驱动程序com.amazon.redshift.jdbc42.Driver

清理构建项目,它现在应该工作.