如何将openCRX数据从HSQLDB迁移到其他数据库

本指南讲解如何从HSQLDB迁移到其他数据库,例如PostgreSQL,MySQL,Oracle,SQL Server或者DB2。

本指南假定openCRX2.8 Server已经按照openCRX 2.8.0 Server Installation Guide成功安装,并且openCRX 2.8 SDK也按照openCRX 2.8 SDK for Ant Step-by-Step成功安装。


安装数据库

第一步你必须创建一个空的openCRX数据库。可以按照以下指南进行(额外提供一个中文版的for MySQL指南): 

  • MySQL 5
  • PostgreSQL 8
  • SQL Server 2005
  • DB2/9
  • Oracle 10

设置数据库连接

下面配置数据库连接,使得Tomcat + OpenEJB可以连接到你新创建的数据库。打开{tomcat_installdir}/apache-tomcat-6/conf/openejb.xml 并且对下面内容进行修改:

<Resource id="jdbc_opencrx_CRX" type="DataSource">
 JdbcDriver org.hsqldb.jdbcDriver
 JdbcUrl jdbc:hsqldb:hsql://127.0.0.1:9001/CRX_2_7
 UserName sa
 Password manager99
 JtaManaged true
</Resource>

根据你安装的数据库进行设置。

PostgreSQL:

 JdbcDriver org.postgresql.Driver
 JdbcUrl jdbc:postgresql://localhost/CRX_2_7

MySQL:

 JdbcDriver com.mysql.jdbc.Driver
 JdbcUrl jdbc:mysql://localhost:3306/CRX_2_7

DB/2:

 JdbcDriver com.ibm.db2.jcc.DB2Driver
 JdbcUrl jdbc:db2://localhost:50000/CRX_2_7

Oracle:

 JdbcDriver oracle.jdbc.driver.OracleDriver
 JdbcUrl jdbc:oracle:thin:@localhost:1521:XE
 UserName CRX_2_7

SQL Server:

 JdbcDriver com.microsoft.sqlserver.jdbc.SQLServerDriver
 JdbcUrl jdbc:sqlserver://localhost:1433;databaseName=CRX_2_7;selectMethod=cursor

并且修改对应的openCRX运行脚本{tomcat_installdir}/bin/webapp01.sh 和{tomcat_installdir}/bin/webapp01.bat。如果需要的话,还可以禁止HSQLDB数据库的START和STOP命令。


复制数据库

工具CopyDb可以将openCRX数据从源数据库复制到目标数据库。你可以按照以下步骤进行操作:

  • 打开命令行,进入openCRX SDK目录(= {opencrxsdk_home})。
  • 运行setenv.bat(Windows系统)或者setenv.sh(Unix系统)。
  • 进入opencrx-2.8.0/core目录。
  • 现在可以运行ant CopyDb。将打印出README解释CopyDB的各个参数和选项。
  • 为了使用简便,目录{opencrxsdk_home}/opencrx-2.8.0/core/etc/scripts 已经包含了使用CopyDb的一些例子。例如你想将数据从HSQLDB复制到PostgreSQL,使用脚本CopyDB-HSQLDB-to-PG.txt作为模板。
  • 修改JDBC驱动路径,连接地址,用户名和密码,并且运行CopyDb。
  • CopyDb会显示所有处理的表。CopyDb必须没有任何错误才能完成。所以在运行前先修复所有的错误。

运行Tomcat + OpenEJB

现在你可以开始运行Tomcat + OpenEJB了。openCRX将会连接到新数据库。

你可能感兴趣的:(如何将openCRX数据从HSQLDB迁移到其他数据库)