【发布时间】:2015-03-24 19:59:39
【问题描述】:
我正在使用 jdbc 查询 Redshift 集群。查询只有一个参数:
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
任何想法可能导致异常?
【问题讨论】:
-
你放什么“expected_value”?问题似乎与提供的模式有关。你在使用特殊字符吗?我可以在我的 redshift 实例上运行它
-
一个字符串,特别是“BestSellersWording”
-
你用的是什么jdbc版本?
-
postgresql-8.4-702.jdbc4.jar
-
适用于 psql,不适用于其他 jdbc 驱动程序版本。听起来需要向亚马逊提出支持请求。
标签: java postgresql jdbc amazon-web-services amazon-redshift