Oracle DB - The database is not using Unicode. Crucible requires that the database uses a UTF8 encoding to support internalization
症状
When trying to migrate to an Oracle DB, the following ERROR
is shown "The database is not using case-sensitive Unicode. Fisheye and Crucible require that the database is case-sensitive and uses a UTF8 encoding to support internalization."
原因
The problem on the UI is happening because the encoding set in your Oracle server is more restrictive than UTF8.
We know that Oracle allows a unique Server level Char Encoding only as per: https://forums.oracle.com/forums/thread.jspa?threadID=578469
ソリューション
Since FeCru supports UTF8 DBs only, this will demand a change on the DB Server side (changing its encoding to AL32UTF8).
There are no supported methods to run Crucible with a non-UTF-8 supporting database. Some users have had success modifying the Crucible configuration directly (but this is not supported by Atlassian):
- Stop your instance of crucible.
- Open your
<<FISHEYE_INST>/config.xml
and change the<<database>>
tag as the following (Insert this xml snippet just before the <snippet/> tag):
<database type="oracle">
<connection dialect="org.hibernate.dialect.Oracle10gDialect" driver="oracle.jdbc.driver.OracleDriver" jdbcurl="jdbc:oracle:thin:@<hostname>:1521:<orcl>" password="<password>" username="userid>" maxPoolSize="20" minPoolSize="5" driverSource="bundled"/>
</database>
Change the values of the: jdbcurl, password and username properties.
- Save and restart your instance.
PS: This won't migrate your data if you were previously using another database but it will allow you to install a brand new crucible instance using Oracle.