OneCMDB使用Hibernate作为数据访问层,默认是支持Oracle数据库的,只需要更改数据访问参数就可以了。
OneCMDB Core中有关数据访问的配置位于<WebAppRoot>/WEB-INF/classes/datasource.xml中,这里WebAppRoot是Web应用的根目录,默认是tomcat-5.5.17/webapps/ROOT,如果找不到搜索一下吧。
datasource.xml原来内容如下:
<bean id="dataSource" class="org.onecmdb.core.internal.storage.DataSourceWrapper" destroy-method="close" > <property name="driverClassName" value="org.hsqldb.jdbcDriver" /> <property name="url" value="jdbc:hsqldb:hsql://localhost" /> <property name="username" value="sa" /> <property name="password" value="" /> <property name="initialSize" value="0" /> <property name="maxActive" value="8" /> <property name="minIdle" value="0" /> <property name="maxIdle" value="8" /> <property name="connectionProperties"> <props> <prop key="shutdown">false</prop> </props> </property> </bean> <!-- Hibernate configuration taking the 'dataSoure' defintion --> <!-- in account, specifically the dialect to use. --> <!-- --> <bean id="hibernateProperties" class="org.onecmdb.core.internal.storage.HibernateProperty"> <property name="properties"> <props> <prop key="hibernate.dialect">org.onecmdb.core.internal.storage.hibernate.hsql.HypersonicSQL18Dialect</prop> <prop key="show_sql">true</prop> <prop key="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.jdbc.batch_size">20</prop> </props> </property> </bean>
Oracle 10g和Oracle11g修改为下配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:Demo" /> <property name="username" value="system" /> <property name="password" value="demotest" /> <property name="initialSize" value="0" /> <property name="maxActive" value="8" /> <property name="minIdle" value="0" /> <property name="maxIdle" value="8" /> <property name="connectionProperties"> <props> <prop key="shutdown">false</prop> </props> </property> </bean> <bean id="hibernateProperties" class="org.onecmdb.core.internal.storage.HibernateProperty"> <property name="properties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="show_sql">true</prop> <prop key="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop> <prop key="hibernate.hbm2ddl.auto">create-update</prop> </props> </property> </bean>
Oracle9i使用以下配置:
<bean id="dataSource" class="org.onecmdb.core.internal.storage.DataSourceWrapper" destroy-method="close" > <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:Demo" /> <property name="username" value="system" /> <property name="password" value="demotest" /> <property name="initialSize" value="0" /> <property name="maxActive" value="8" /> <property name="minIdle" value="0" /> <property name="maxIdle" value="8" /> <property name="connectionProperties"> <props> <prop key="shutdown">false</prop> </props> </property> </bean> <!-- Hibernate configuration taking the 'dataSoure' defintion --> <!-- in account, specifically the dialect to use. --> <!-- --> <bean id="hibernateProperties" class="org.onecmdb.core.internal.storage.HibernateProperty"> <property name="properties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> <prop key="show_sql">true</prop> <prop key="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop> <prop key="hibernate.hbm2ddl.auto">create-update</prop> <prop key="hibernate.jdbc.batch_size">20</prop> </props> </property>
</bean>
其中黑体加粗斜体部分为修改的内容,修改好之后重新启动tomcat,即可重新在数据库中建立数据库结构。再次修改hibernate.hbm2ddl.auto属性为update,重启tomcat即可正常使用oracle数据库。
完成之后使用执行ROOT\WEB-INF\classes目录下create-index.sql中的语句建立索引(根据报错情况修改sql语句)。
或者使用附件中的sql文件完成表结构建立(hibernate.hbm2ddl.auto属性设置为update)。附件:onecmdb4Oracle.sql
本站文章除注明转载外,均为本站原创。本站翻译文章,如果作为商业用途,请取得作者许可。
本站原创文章版权归作者和OneCMDB中文共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载请注明:文章转载自:OneCMDB中文 [http://www.onecmdb.cn]
本文标题:修改配置文件让OneCMDB使用Oracle数据库
本文地址:http://www.onecmdb.cn/useonecmdb/using-oracle-for-onecmdb.htm 复制本文链接
本站原创文章版权归作者和OneCMDB中文共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载请注明:文章转载自:OneCMDB中文 [http://www.onecmdb.cn]
本文标题:修改配置文件让OneCMDB使用Oracle数据库
本文地址:http://www.onecmdb.cn/useonecmdb/using-oracle-for-onecmdb.htm 复制本文链接
评论