【发布时间】:2020-07-03 16:44:10
【问题描述】:
我最近在 Dropwizard 项目中添加了一个 maven 依赖项:
<dependency>
<groupId>com.amazon.redshift</groupId>
<artifactId>redshift-jdbc42-no-awssdk</artifactId>
<version>1.2.45.1069</version>
</dependency>
它正在替换以前使用的org.postgresql.Driver,从那时起我的一些查询返回
! Causing: org.skife.jdbi.v2.exceptions.UnableToCreateStatementException: java.sql.SQLException: [Amazon](500310) Invalid operation: failed to find conversion function from "unknown" to integer;
我怀疑我可能有几十个查询需要适应新驱动程序。
因为我不想每次想要测试对查询的更改是否能解决问题时都必须重新启动服务器,所以我想针对 Redshift DB 手动运行查询,以便快速识别需要修复的部分查询。
我的问题:从 IntelliJ DB 控制台中手动运行查询时,我无法重现该错误。我什至从https://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html(我下载了这个:https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.45.1069/RedshiftJDBC42-no-awssdk-1.2.45.1069.jar)下载了 Amazon Redshift 驱动程序的 JAR,并用它在 IntelliJ 中建立了一个新的数据库连接。但是,从 IntelliJ DB 控制台手动运行完全相同的查询不会给我错误。
与从控制台手动运行相比,任何人都可以想到在服务器运行时可能导致查询出错的配置是什么?以及如何让它停止在服务器上抛出异常或在控制台中运行时开始导致相同的错误?
【问题讨论】:
标签: intellij-idea jdbc amazon-redshift driver dropwizard