使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(四)

      第四部分:SqlServer中的架构到Oracle中的模式,名称的处理

      通过执行移植向导,如果没有错误的话,那么表结构基本上都会建立起来了,在连接中打开orcl(migrations)连接,找到最下面的其它用户,假设你的表都在dbo架构下,那么找到dbo_源数据库名,展开它,可以看到在表中已经有原数据库中的所有表。但是,为什么会显示为dbo_源数据库名呢?我很不喜欢这样的用户名。我希望它显示为源数据库名,要怎样做呢?

      在程序的左下角,是移植项目窗格,在里面可以看到我们刚才建立的移植项目名。展开它,会显示我们执行过向导的日期和时间,继续展开,可以看到两个节点,叫作捕获的数据库对象转换的数据库对象,如下图:

image

      在捕获的数据库对象上点击右键,选择转换,再次打开数据移植向导。点击下一步,会直接跳转到转换页,这一次的转换页面与前一部分的转换页稍有不同。不同之处在于多出了一个选项卡,叫对象命名,选择它打开,如下图所示:

image

      在这个页面中,显示了一个数据列表,列出了源数据库的表名、字段名、约束名、视图名、架构名等等所有的标识符的原始标识符、新建标识符、是否经过转换、原始限定名、标识符类型等信息。因为Oracle中不支持30个字符以上的标识符,所以当碰到原始标识符超过30个字符时,移植向导会自动将之截断,如果有重名,则会加上_1之类的后缀。

      很明显,在这里,它把我们原来的dbo架构名转换成了dbo_数据库名,我们只要找到它,将新标识符改为数据名,即可实现我们这部分的需求。

      修改完成后,点击下一步,接着按之前的设置完成整个向导,将修改提交到资料档案库中。注意,这次的向导并没有去帮我建立新用户和表结构等等,还需要进一步操作。

      在主界面中的移植项目窗格,在转换的数据库对象上点击右键,选择生成目标,再次打开移植向导,又一次按之前我们的选择完成整个向导,这一次,才是真正建立了我们想要的用户名。

      然后,把自动生成的老用户名和模式都删除掉吧。具体操作就不细说啦。

posted @ 2011-07-10 18:36  绝殇  阅读(2692)  评论(0编辑  收藏  举报