我试图在Hsql数据库中重新创建一个oracle数据库.
这是为了在本地开发人员系统上实现更好的单元测试.
这是为了在本地开发人员系统上实现更好的单元测试.
我需要知道的是,我可以在oracle服务器/客户端中使用任何工具/命令,它可以为oracle数据库中的所有对象(表,同义词,视图等)提供所有DDL命令.
我打算通过创建的DDL命令并尝试将这些命令转换为Hsql兼容命令.
可能吗?
欢迎任何建议.
系统信息:
Oracle DB: Oracle enterprise server 11g R2. Hsql DB: hsql 2.2.9
解决方法
您可以将
DBMS_METADATA
package与数据字典一起使用,以生成对象的DDL.例如,为架构中的每个表生成DDL
declare l_ddl clob; begin for t in (select * from user_tables) loop l_ddl := dbms_Metadata.get_ddl( 'TABLE',t.table_name,USER ); <<do something with l_ddl>> end loop; end;
您确定使用与您实际部署的数据库完全不同的数据库进行测试是否合理?即使您将DDL转换为最接近的模拟,您似乎很可能会根据您连接的数据库获得一些测试的不同结果.您确定在开发人员的计算机上无法安装Oracle(如果您的担忧主要是关于许可,则可能是Oracle XE)吗?