前言:

软件开发的过程中,将设计的表更新到数据库中是一件繁琐的事情,使用好工具,能够事半功倍。

环境介绍:Oracle 11g x64

前期准备:

1.PowerDesigner工具(本人是32位的)

2.Odbc驱动

3.创建好表空间,用户,以及赋予权限。

实际操作步骤:

第1步:

执行如下命令,创建表空间、表、用户、为用户赋值权限:

CREATE SMALLFILE TABLESPACE TS(你自己的表空间)DATAFILE 'D:\app\用户(你自己的目录)\oradata\orcl\DB_NAME(你自己的数据库名称)' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

CREATE USER USER_NAME(你自己的用户名) PROFILE DEFAULT IDENTIFIED BY PWD(你自己的密码) DEFAULT TABLESPACE  TS(你自己的表空间) TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;

GRANT DBA TO USER_NAME(你自己的用户名,根据实际需要赋值权限);

第2步:

根据当前系统数据库环境,添加ODBC驱动。

2.1下载驱动

驱动下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html   。

下载: instantclient-basic-nt-11.2.0.4.0.zip   和  instantclient-odbc-nt-11.2.0.4.0.zip

注意:此处因为我的PowerDesigner是32位的,所以选择的驱动都是32位,如果您是64位,也可以选择64位。同时,因为我的数据库是11g,顾选择的版本是11.2.0.4.0,如果您的是12c,请选择高版本,高版本不兼容低版本。

下载地址为:http://www.oracle.com/technetwork/topics/winx64soft-089540.html  ,分别下载: instantclient-basic-windows.x64-11.2.0.4.0.zip   和    instantclient-odbc-windows.x64-11.2.0.4.0.zip 。

2.2解压驱动

将驱动解压到同一个目录,如:C:\ODBC_11g_X32

2.3通过CMD安装

以管理员身份运行CMD命令,输入:cd /d C:\ODBC_11g_X32 回车

再输入:odbc_install.exe 回车,此时会提示安装成功(因为先前安装过,提示已经存在了)

第3步:通过PowerDesigner创建相关的表

第4步:将表导入数据库中

4.1通过PowerDesigner创建ODBC数据源连接

DataBase --> Generate DataBase

选择:Direct generation,然后点击右侧的连接数据库源

打开连接数据库源,选择Congiure(配置,由于我先前都做了一次,所以我这里截图全部存在)

配置数据源:新建(点击红色方框标记处)

选择:文件数据源-->下一步

找到先前安装的odbc驱动

点击浏览,选择数据源存放的位置,并为数据源起名

如:起名为“我的数据源”,存放到D盘根目录(这里大家随意,只要用的时候记住就好,我一般是和PowerDesigner的数据设计文件存放在一起)

点击完成

填写服务名称,账号,密码等,注意服务名称是你本地oracle数据库的服务名称,填写格式为:localhost:1521/ORCL

注意:由于我是本机的oracle,以及端口为默认的1521,同时数据库服务名称名为ORCL,顾如此填写。

                   

点击OK,新建好数据源,选择 ODBC FILE Data Sources ,浏览,找到新建好的数据源

       

                

4.2准备更新表

下面测试设计的表是否能正常更新到数据库中,如图,我的 T_WX_GZH_CONFIG 目前只有:WX_CONFIG_ID、WX_GZH_ID、WX_CONFIG_NAME、WX_CONFIG_VAL、ADD_DT等几个字段

在PD中添加新字段,添加一列叫做字典序

4.3操作更新

同样是:DataBase --> Generate DataBase (注意,在物理模型中操作,不是概念模型)

general中选择 表和视图

options选择中也只选择表和视图,如果选择其他的,你的Preview里面的代码会多出修改你表空间,用户等sql

Format中,勾选相关操作,名称自动替换空的备注,然后选择简体中文编码

selection中选择你所要更新的表

summary的截图,里面存放你的sql文件位置

Preview截图,你所要更新表的sql语句

点击确定

点击是

再点击是

点击RUN,提示执行成功

在数据库中查看表,看看新加的字段是否添加上去

这样,你就完成了表的更新。但是,注意这种方法的缺点,这种更新是需要先删除掉表,再创建,如果你有重要数据,请先备份,不然后悔莫及。

PowerDesigner如何将设计的表更新到数据库中的更多相关文章

  1. MySQL进阶:约束,多表设计,多表查询,视图,数据库备份与还原

    MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订 ...

  2. 如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作

    如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作 其实这个问题已经在<SQLSERVER企业级平台管理实践>里徐老师已经讲过了,不过我想用自己的语言再讲详细一些 笔记链接 ...

  3. PowerDesigner如何把建好的表导入到数据库中,并且把注释也导入进去

    第一次接触这个软件,经过自己的捣鼓和百度,终于可以顺利的导入数据库中了,好开森,希望可以帮助到更多人. 数据库(mysql)其实和sqlserver差不多,以16.5版本为例 1.选中一个PDM项目, ...

  4. oracle不小心更新了数据库中的所有内容后的恢复

    开发过程中,在更新数据库中的某一条数据时,由于疏忽忘记加where判断条件了,这时更新会提示是否要更新全部数据,但是由于自己没有仔细看提示导致直接点确定并commit了,导致数据库中所有数据的相关字段 ...

  5. 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据

    有一个需求是这样的,我们需要更新数据库中的数据,数据时这样的 1.大约50万以上 2. 数据中有较多的重复数据 3. 需要将表中最近的代理商的名称赋值给行中的服务商名称 4. 代理商的名称可能有多个, ...

  6. 如何将EXCEL表导入ORACLE数据库中?【转】

    来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...

  7. yii2中判断数据表是否存在数据库中(原创)

    分为两步: 第一步,找出数据库中所有表名,表名得到的是二维数组. 第二步,判断表名是否存在二维数组中 下面就贴我的代码咯. $table_name =‘table’; $juge = $handle- ...

  8. MySQL学习笔记_时间,多表更新,数据库元数据

    MySQL技术内幕一.MySQL基础知识1.1.显示表中的列SHOW COLUMNS FROM order_info like 'order%'1.2.显示表SHOW TABLES LIKE 'ord ...

  9. 通过表名显示数据库中该表的表头和内容(mysql扩展库操作)

    编写一个函数,接收一个表名,然后把表的表头和内容显示在网页 <?php function readTab($tableName){ $conn=mysql_connect("local ...

随机推荐

  1. Struts2(XWork)中的Container 一

    本文是<<struts2 技术内幕>>的学习笔记 在进行面向对象编程的时候,我们不可避免地要使用继承实现等等java提供的语法支持.但是复杂的对象关系也为对象生命周期的管理带来 ...

  2. AngularJS进阶(七)实现根据不同条件显示不同控件

    AngularJS实现根据不同条件显示不同控件 由于项目需求,需要实现根据不同条件显示不同控件的功能.具体要求如下图所示: 即当选择"每单固定减"时,下方只显示"减免金额 ...

  3. objective-c随机数+日期格式显示一例

    在原来的代码上有修改,主要为: 将准备随机数方法放到了init中,这样不用手动调用了 setWeek方法已经过时,使用的是setWeekOfYear方法 在此放一份以备以后查找: le.h // // ...

  4. C语言二维数组实现扫雷游戏

    #include<stdio.h> //使用二维数组实现 扫雷 int main() { char ui[8][8]={ '+','+','+','+','+','+','+','+', ...

  5. obj-c编程06:反射与元编程初步

    我们知道对于现如今的动态语言比如ruby而言,反射和元编程以及支持的非常灵活了,你完全可以跳过常规的手段,而利用反射来查询或调用对象的私有方法.而obj-c对反射的支持略显小繁琐,而且在开了ARC后同 ...

  6. LeetCode(45)-Bulls and Cows

    题目: You are playing the following Bulls and Cows game with your friend: You write down a number and ...

  7. 【作业2.0】HansBug的5-7次OO作业分析与小结,以及一些个人体会

    不知不觉又做了三次作业,容我在本文胡言乱语几句2333. 第五次作业 第五次作业是前面的电梯作业的多线程版本,难度也有了一些提升.(点击就送指导书) 类图 程序的类图结构如下: UML时序图 程序的逻 ...

  8. Yii2.0源码阅读-PHP如何与redis通信?

    PHP与Redis可以通过socket进行通信,前提是PHP需要实现Redis的协议 RESP协议描述: 字符串 \r\n : 表示一个正确的状态信息,具体信息是'+'后面的字符(Simple Str ...

  9. 初识java——运算符和表达式以及注释

    java中有不同的运算符,并且在运算中有着优先级的排序计算,其中++和——的优先级最高,最先计算 运算符注意:1,增量和减量运算符++,——. int a=1++; int b=++1; 其中1++表 ...

  10. Nginx SSL功能支持的一些资料。

    http://wiki.nginx.org/HttpSslModulehttp://zou.lu/nginx-https-ssl-module/http://www.21andy.com/blog/2 ...