In this article you will learn about how to change the default repository database from Derby to any other RDBMS of your choice.
When Helical Insight application is installed on the end client server or any other system then by default repository database is set to Derby. Derby is a light weight DB wherein the user role information as well as cache etc information is stored. Here, you have the flexibility to change from Derby to other more enterprise DB for better performance.
Let us understand where and how to set default repository database :
Let us say you want to migrate from Derby to MySQL.
Step 1: Install MySQL separately. Create a db by the name of hiee in this database.
Step 2: Then open application-context.xml file. This file is present on the below path “C:\Program Files\Helical Insight\hi\apache-tomcat-7\webapps\hi-ee\WEB-INF\classes”
Make changes on the below code, change it from derby to DB of your choice (change driver, class etc) (line 8 to line 13)
<bean class="com.zaxxer.hikari.HikariDataSource" destroy-method="close" id="dataSource"> <property name="username" value="admin"/> <property name="password" value=""/> <property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver"/> <property name="jdbcUrl" value="jdbc:derby:C:\Program Files\Helical Insight\hi\db\hiee;create=true"/> </bean>
also make change in the below (line 28)
<prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>
Step 3: To whichever DB you are migrating please make sure that you are also storing that specific DB JDBC driver in the LIB folder as well. Path of LIB folder is “C:\Program Files\Helical Insight\hi\apache-tomcat-7\webapps\hi-ee\WEB-INF\lib”
NOTE: In case if you are shifting to SQLServer, the SQLServer DB is having FILE as reserved keyword and hence it will not create one table which is “Cache_Datasource” table. For that you can contact us support team for more information. You might also face this issue in case if you are shifting to all together a very different datasource as well. We have tested it with various RDBMS like MySQL, PostGress, SQLServer, Oracle etc.
Once the above changes are done restart the server. Then automatically the user role information will get created inside the other DB.
For More Info, Contact us at demo@helicalinsight.com