Java AWS红移Posix模式匹配
我正在使用jdbc查询一个红移集群。该查询只有一个参数:Java AWS红移Posix模式匹配,java,postgresql,jdbc,amazon-web-services,amazon-redshift,Java,Postgresql,Jdbc,Amazon Web Services,Amazon Redshift,我正在使用jdbc查询一个红移集群。该查询只有一个参数: select * from table_name bc where bc.column_name ~ ? limit 10 我正在使用 stmt.setString(1, "expected_value"); 查询执行失败,出现异常: org.postgresql.util.PSQLException: ERROR: The pattern must be a valid UTF-8 literal character express
select * from table_name bc where bc.column_name ~ ? limit 10
我正在使用
stmt.setString(1, "expected_value");
查询执行失败,出现异常:
org.postgresql.util.PSQLException: ERROR: The pattern must be a valid UTF-8 literal character expression
Detail:
-----------------------------------------------
error: The pattern must be a valid UTF-8 literal character expression
code: 8001
context:
query: 496280
location: cgx_impl.cpp:1902
process: padbmaster [pid=4192]
-----------------------------------------------
执行不带参数的查询工作正常:
select * from table_name bc where bc.column_name 'expected_value' ? limit 10
您知道什么可能导致异常吗?使用Amazon Redshift JDBC驱动程序:
你在那里放了什么“期望值”?问题似乎与提供的模式有关。你在使用特殊字符吗?我可以在我的redshift instancea字符串上运行它,特别是“BestSellersWorming”,您使用的jdbc版本是什么?postgresql-8.4-702.jdbc4.jarWorks来自psql,不适用于其他jdbc驱动程序版本。听起来需要向亚马逊提出支持请求。