I'm encountering an error when trying to run Liquibase with an Oracle database. Here's the exact error message I receive:
Unexpected error running Liquibase: ORA-17056: Non-supported character set (add orai18n.jar in the classpath): AR8MSWIN1256
Environment:
Liquibase Version: 4.31.0
Database: Oracle 19c
JDBC Driver: ojdbc8.jar
Operating System: Windows 10 Enterprise
JDBC URL: jdbc:oracle:thin:@//hostname:1521/sid?useUnicode=true&characterEncoding=UTF-8
Command Executed:
liquibase --changeLogFile=changelog.xml --url=jdbc:oracle:thin:@//hostname:1521/DB --username=******--password=****** update
Error Details:
When running the above command, I get the following error:
ORA-17056: Non-supported character set (add orai18n.jar in the classpath): AR8MSWIN1256
It suggests adding orai18n.jar to the classpath, but I’m not sure how to do this or if there’s something else I need to adjust in my setup.
Added the orai18n.jar to the classpath.
Verified the character set by running the following query in Oracle:
SELECT * FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET';
The result was AR8MSWIN1256.
Could anyone help me with how to resolve this issue? Do I need to change the Liquibase configuration? Any help would be appreciated!
I'm encountering an error when trying to run Liquibase with an Oracle database. Here's the exact error message I receive:
Unexpected error running Liquibase: ORA-17056: Non-supported character set (add orai18n.jar in the classpath): AR8MSWIN1256
Environment:
Liquibase Version: 4.31.0
Database: Oracle 19c
JDBC Driver: ojdbc8.jar
Operating System: Windows 10 Enterprise
JDBC URL: jdbc:oracle:thin:@//hostname:1521/sid?useUnicode=true&characterEncoding=UTF-8
Command Executed:
liquibase --changeLogFile=changelog.xml --url=jdbc:oracle:thin:@//hostname:1521/DB --username=******--password=****** update
Error Details:
When running the above command, I get the following error:
ORA-17056: Non-supported character set (add orai18n.jar in the classpath): AR8MSWIN1256
It suggests adding orai18n.jar to the classpath, but I’m not sure how to do this or if there’s something else I need to adjust in my setup.
Added the orai18n.jar to the classpath.
Verified the character set by running the following query in Oracle:
SELECT * FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET';
The result was AR8MSWIN1256.
Could anyone help me with how to resolve this issue? Do I need to change the Liquibase configuration? Any help would be appreciated!
Share Improve this question asked Feb 10 at 12:41 AmrAbobakerAmrAbobaker 112 bronze badges1 Answer
Reset to default 0I couldn't tell from the description if you've already tried this, but the following Liquibase documentation specifies several locations where it will pick up additional jars. Those locations include:
- The current working directory.
- A liquibase_libs directory in the current working directory.
- A lib directory in the Liquibase install location.
- Inside any .zip or .jar files in the liquibase_libs or lib directories.
Try copying the orai18n.jar to one of those locations.