Powerdesigner SqlServer转Oracle(转)

参考文章,原文地址:http://blog.csdn.net/cicada688/article/details/7802881

问题1:sqlserver数据库直接转oracle。字段类型由sql server的类型转换到oracle类型

问题2:sql server的字段有大小写的问题。需要全部转为大写的形式

----------------------------------------------------

Powerdesigner内将数据库的配型转换为Oracle类型

这样字段的类型都切换为Oracle类型的

-------------------------------------------------字段全部修改为大写的方式

使用方法:进入PowerDesigner,打开需要转换的PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。

脚本如下:

    ‘*****************************************************************************
     ‘文件:powerdesigner.ucase.VBs
     ‘版本:1.0
     ‘功能:遍历物理模型中的所有表,将表名、表代码、字段名、字段代码全部由小写改成大写;
     ‘ 并将序列的名和代码由小写改成大写。
     ‘用法:打开物理模型,运行本脚本(Ctrl+Shift+X)
     ‘备注:
     ‘*****************************************************************************
     dim model ‘current model
     set model = ActiveModel
    If (model Is Nothing) Then
     MsgBox "There is no current Model"
     ElseIf Not model.IsKindOf(PdPDM.cls_Model) Then
     MsgBox "The current model is not an Physical Data model."
     Else
     ProcessTables model
     ProcessSequences model
     End If
    ‘*****************************************************************************
     ‘函数:ProcessSequences
     ‘功能:递归遍历所有的序列
     ‘*****************************************************************************
     sub ProcessSequences(folder)
     ‘处理模型中的序列:小写改大写
     dim sequence
     for each sequence in folder.sequences
     sequence.name = UCase(sequence.name)
     sequence.code = UCase(sequence.code)
     next
     end sub
    ‘*****************************************************************************
     ‘函数:ProcessTables
     ‘功能:递归遍历所有的表
     ‘*****************************************************************************
     sub ProcessTables(folder)
     ‘处理模型中的表
     dim table
     for each table in folder.tables
     if not table.IsShortCut then
    ProcessTable table
     end if
     next
     ‘对子目录进行递归
     dim subFolder
     for each subFolder in folder.Packages
     ProcessTables subFolder
     next
    end sub
    ‘*****************************************************************************
     ‘函数:ProcessTable
     ‘功能:遍历指定table的所有字段,将字段名由小写改成大写,
     ‘ 字段代码由小写改成大写
     ‘ 表名由小写改成大写
    ‘*****************************************************************************
     sub ProcessTable(table)
     dim col
     for each col in table.Columns
     ‘将字段名由小写改成大写
     col.code = UCase(col.code)
     col.name = UCase(col.name)
     next
    table.name = UCase(table.name)
     table.code = UCase(table.code)
     end sub  

字段全部被替换成了大写。

时间: 2024-08-01 14:03:56

Powerdesigner SqlServer转Oracle(转)的相关文章

SqlServer 、Oracle 、MySql 的区别

一.sqlserver 优点: 易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等: 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLS

mysql、sqlserver、oracle三种数据库维护索引、外键、字段语法总结

mysql.sqlserver.oracle三种数据库维护索引.外键.字段语法总结 1.     MYSQL数据库 1)    创建索引 CREATE INDEX index_name ON table_name(column_list) CREATE UNIQUE INDEX index_name ON table_name(column_list) 修改表的方式添加索引 ALTER TABLE table_name ADD INDEX index_name(column_list) ALTE

SQLServer访问Oracle查询性能问题解决

原文:SQLServer访问Oracle查询性能问题解决 1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考这篇文章http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html 目前的查询语句就是一个简单的带where条件的查询语句,类似如下: SELECT * FROM LINKED_NAME..A

Mysql,SqlServer,Oracle主键自动增长的设置

1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如:   customers(id  auto_increment    , name (  customers(name)  id  customers; 以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值.最后查询表中id字段,查询结果为: 由此可见,一旦把id设为auto_increment类型,mys

SQLServer与Oracle的对比

    最近去铁科院面试,项目组长问了我这样一下问题:SQLServer与Oracle的区别是什么?从进入软件行业,从开始CS的编码到BS的编码过程中使用的都是SQLServer,在半年前开始敲DRP的过程中才接触到Oracle,当时给我的感觉Oracle太庞大了,也许对新鲜的事物都是这种感觉吧,下面我就来详细的介绍一下:    1.数据类型不同. sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime

关于sqlserver和oracle的一点感受

2012年使用了一点oracle,那个时候其实并不真正的了解这个数据库,所会的也就是利用toad做一些简单的管理,后来转战到sqlserver才开始对数据库这个东西有了一些了解.使用了sqlserver有一年多了,后来又开始使用了oracle了,让我一阵须臾,这回多少也该弄懂了oracle这个大大了吧,经过我的使用还真是发现了一些不同. sqlserver在存储中使用了不少的临时表,因为这有助于管理好数据的edit,但是这个方法在oracle中确实很少见的,因为对于oracle来说,临时表的建立

SQLServer和Oracle的常用函数对比

---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1)  value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001)  value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001)  value from dual 4.取整(截取) S:select

C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)

[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需要,于是乎,就准备写一个Mysql_Helper在实现过程中,发现ADO.Net封装之完善,以及面向对象的封装.继承.多态,有了这些特性,何不把数据库操作封装成为一个通用的类呢,此文由此铺展而来... [实现功能] 这篇文章将要介绍的主要内容如下: 1.ADO.NET之SqlServer 2.ADO

sqlserver和oracle修改表结构

sqlserver和oracle修改表结构常用SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID'