ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sqldeveloper报oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert

sqldeveloper报oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert

原创 Linux操作系统 作者:Simon_24 时间:2010-08-04 14:30:06 0 删除 编辑
我用的sqldeveloper是1.5.0.53的版本。 如果你在机子上装了oracle客户端的话,我们可能会发现一个奇怪的问题,当你执行任何操作的时候可能会发生下面的错误。

Java代码 复制代码
  1. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert   
  2. (persistableObject.java:238)   
  3. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238)   
  4. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert   
  5. (persistableObject.java:238)   
  6. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238)   
  7. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert   
  8. (persistableObject.java:238)   
  9. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238)   
  10. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert   
  11. (persistableObject.java:238)   
  12. oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238)   
  13. ....   
  14.   
  15. oracle.dbtools.metadata.persistence.persistenceException: Protocol Violation  


这是因为sqldeveloper用的是oracle 11g的jdbc driver, 如果装了oracle客户端的话, sqldeveloper会用到oracle客户端上的驱动 (这都是oracle_home搞得鬼)。我们在sqldeveloper的主目录下创建一个"sqldeveloper.cmd"的文件, 然后写入以下内容。

Java代码 复制代码
  1. SET ORACLE_HOME=%CD%   
  2. start sqldeveloper.exe  


以前启动sqldeveloper就双击这个cmd文件。 其实这个文件的作用也是很明显的。 就是在启动sqldeveloper时修改oracle_home环境变量 指向当前目录。

在migration之前, 你需要创建一个repository, 这个是个中间库,会记录一下迁移数据库的信息 (就是在数据库中建议写MD_开头的表)。

在sqldeveloper最方便使用的是quick migrate,但是quick migrate只能让你选择是迁移table,data 或者所有。 所以index constraint之类的信息都会迁移过去。

在你source database中选择capture tables 或者 capture schema, 会在Captured Objects视图中出现你捕获的内容, 你可以选择删除掉一些不需要的东西, 比如外键约束,不需要导的表 等等。

准备好你捕获的信息之后,在captured model上单击右键-》Convert to Oracle Model。完成之后会在Converted Objects中生成Converted Model, 然后右键-》Generate 会生成对应的oracle数据库的sql scripts, 然后在你的target数据库运行这些脚本, 你就得到了对应的oracle的数据库结构了。 然后再在Converted Model上点击右键-》 Move Data。 选择source database和target数据库。OK。 让数据慢慢迁移吧。


参考:http://forums.oracle.com/forums/thread.jspa?messageID=2536737�

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14670217/viewspace-670248/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle修改用户名
请登录后发表评论 登录
全部评论

注册时间:2009-01-20

  • 博文量
    52
  • 访问量
    147932