Skip to content
This repository has been archived by the owner on Feb 23, 2023. It is now read-only.

Error runing queries on petclinic-jdbc native image #966

Closed
oclay1st opened this issue Aug 11, 2021 · 3 comments
Closed

Error runing queries on petclinic-jdbc native image #966

oclay1st opened this issue Aug 11, 2021 · 3 comments

Comments

@oclay1st
Copy link
Contributor

oclay1st commented Aug 11, 2021

I get this error after runing a native image of petclinic-jdbc

2021-08-11 10:48:46.603  INFO 20491 --- [nio-8080-exec-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-08-11 10:48:46.821  INFO 20491 --- [nio-8080-exec-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-08-11 10:48:46.845 ERROR 20491 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [SELECT id, first_name, last_name, address, city, telephone FROM owners WHERE last_name like ?]; Unsupported character encoding 'CP1252'; nested exception is java.sql.SQLException: Unsupported character encoding 'CP1252'] with root cause

java.io.UnsupportedEncodingException: CP1252
        at java.lang.StringCoding.decode(StringCoding.java:243) ~[na:na]
        at java.lang.String.<init>(String.java:467) ~[petclinic-jdbc:na]
        at com.mysql.cj.util.StringUtils.toString(StringUtils.java:1720) ~[na:na]
        at com.mysql.cj.result.StringValueFactory.createFromBytes(StringValueFactory.java:139) ~[na:na]
        at com.mysql.cj.result.StringValueFactory.createFromBytes(StringValueFactory.java:47) ~[na:na]
        at com.mysql.cj.protocol.a.MysqlTextValueDecoder.decodeByteArray(MysqlTextValueDecoder.java:143) ~[na:na]
        at com.mysql.cj.protocol.result.AbstractResultsetRow.decodeAndCreateReturnValue(AbstractResultsetRow.java:135) ~[na:na]
        at com.mysql.cj.protocol.result.AbstractResultsetRow.getValueFromBytes(AbstractResultsetRow.java:243) ~[na:na]
        at com.mysql.cj.protocol.a.result.ByteArrayRow.getValue(ByteArrayRow.java:91) ~[na:na]
        at com.mysql.cj.jdbc.result.ResultSetImpl.getString(ResultSetImpl.java:875) ~[na:na]
        at com.zaxxer.hikari.pool.HikariProxyResultSet.getString(HikariProxyResultSet.java) ~[na:na]
        at org.springframework.jdbc.support.JdbcUtils.getResultSetValue(JdbcUtils.java:162) ~[na:na]
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Aug 11, 2021
@oclay1st oclay1st changed the title Error building petclinic-jdbc sample with MySQL Error runing queries on petclinic-jdbc native image Aug 11, 2021
@oclay1st
Copy link
Contributor Author

I managed to solve this error adding -H:+AddAllCharsets as an argumment

@snicoll snicoll removed the status: waiting-for-triage An issue we've not yet triaged or decided on label Dec 2, 2021
@baofeidyz
Copy link

baofeidyz commented Aug 2, 2022

I managed to solve this error adding -H:+AddAllCharsets as an argumment

Hi, oclay1st. I had similar error with you.

java.nio.charset.UnsupportedCharsetException: CP1252
        at java.nio.charset.Charset.forName(Charset.java:529)
        at org.apache.poi.util.LocaleUtil.<clinit>(LocaleUtil.java:56)
        at org.apache.poi.ss.usermodel.DataFormatter.<init>(DataFormatter.java:242)
        at org.apache.poi.ss.usermodel.DataFormatter.<init>(DataFormatter.java:233)
        at org.apache.poi.ss.formula.functions.TextFunction.<clinit>(TextFunction.java:33)
        at org.apache.poi.ss.formula.atp.AnalysisToolPak.createFunctionsMap(AnalysisToolPak.java:82)
        at org.apache.poi.ss.formula.atp.AnalysisToolPak.<init>(AnalysisToolPak.java:47)
        at org.apache.poi.ss.formula.atp.AnalysisToolPak.<clinit>(AnalysisToolPak.java:33)
        at org.apache.poi.ss.formula.udf.AggregatingUDFFinder.<clinit>(AggregatingUDFFinder.java:35)
        at java.lang.Class.ensureInitialized(DynamicHub.java:518)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:155)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:226)
        at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:214)

Can you tell me how to add -H:+AddAllCharsets as an argument ? Thanks a lot.
Hope you know, I'm not running with a container, just using the terminal to run the executable file.
And I refer to this doc, still failed.

@oclay1st
Copy link
Contributor Author

oclay1st commented Aug 2, 2022

Hi @baofeidyz, sorry for the delay. You can add -H:+AddAllCharsets to the native-image command or you can add It as part of the NativeHint annotation. Just something like this: @NativeHint(options = "-H:+AddAllCharsets")

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

4 participants