Подключитесь к Amazon Redshift через Jdbc - PullRequest
0 голосов
/ 08 апреля 2020

Я написал модульный тест для подключения к Amazon Redshift. Поскольку он недоступен, я использую это docker изображение для проверки соединения: https://hub.docker.com/r/guildeducation/docker-amazon-redshift/

Когда я пытаюсь подключиться через Jdb c к этому docker экземпляру У меня всегда есть эта ошибка:

[Amazon][JDBC](11380) Exception : pointeur Null.
java.sql.SQLException: [Amazon][JDBC](11380) Exception : pointeur Null.
   at com.amazon.redshift.client.PGClient.startSession(Unknown Source)
   at com.amazon.redshift.client.PGClient.<init>(Unknown Source)
   at com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source)
   at com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
   at com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source)

У меня нет источника, поэтому я не знаю, что вызвало NPE.

Вот простой тест, который я написал (это kotlin):

@Test fun `connection to redshift test`() {
        val dataSource = DriverManagerDataSource().apply {
            setDriverClassName("com.amazon.redshift.jdbc4.Driver")
            url = "jdbc:postgresql://localhost:5439/report"
            username = "postgres"
            password = "postgres"
        }
        val jdbcTemplate = JdbcTemplate(dataSource)
        jdbcTemplate.query("SELECT * from my_table", RowMapper { rs, rowNum -> 

        })
    }

Я пытался переключать драйверы, как указано в документации https://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html#download -jdb c -driver , но ошибка все еще та же

Проще говоря, подключение к базе данных с драйвером postgresql работает отлично. Но поскольку мы собираемся развернуть наше приложение в aws с Redshift в качестве базы данных, я хотел протестировать свой код перед развертыванием.

Любая помощь будет принята

...