`
xdw1626
  • 浏览: 174818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PowerDesigner 11 相关错误问题

阅读更多

版本:11
一。通过调整以下两个参数,
   菜单:Database=>Edit current DBMS
PGSQL73::Script\Objects\MaxConstLen
value=>255

PGSQL73::Script\Objects\Table\Maxlen
value=>255

可以避免在生成sql时的错误:

Reference constraint name maximum length is limited to 7 characters
Key constraint name maximum length is limited to 7 characters
Table code maximum length

这个问题很有普遍性,公司三四个同事都遇到,因没有做笔记,而且这个设置比较隐蔽,很快就忘记,所以每次都花了好长时间才找回设置的地方,为此,做下笔记,并特意把错误提示信息也写上,方便搜索。

二。生成数据库脚本
1.改变目标数据库
菜单:Database=>Change current DBMS
2.生成脚本
菜单:Generate database

 

不用那么麻烦,而且治标不治本,look this:
解决方法一,取消检查
解决方法二,设置相应代码页
以上方法测试验证通过.

二、
留着有用PowerDesigner 11 使用心得(转)

1、安装PD v11.0版

2、由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:Program FilesSybasePowerDesigner Trial 11Resource FilesDBMSoracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。

3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!

4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)

6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options->Detail->FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!

7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系

8、修改报表模板中一些术语的定义
即文件:C:Program FilesSybasePowerDesigner Trial 11Resource FilesReport LanguagesChinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object AttributesPhysical Data ModelColumn
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values MappingListsStandard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息


=============================
1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box

6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No

7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键

8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

9。使数据模型图上显示中文:Tools-Model Options-Naming Convertion,在右侧Display处选择Name

=======================================================================

1、修改建表脚本生成规则。如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
   %TABLDEFN%
   ts                   char(19)             null default convert(char(19),getdate(),20),
   dr                   smallint             null default 0
)
[%OPTIONS%]

其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

2、修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
     [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

3、修改外键命名规则。选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

4、添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

要生成建库脚本即Databse -> Generate Database (Ctrl+G)窗口中确定即可。

5、双引号
对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No

分享到:
评论

相关推荐

    powerdesigner11简体中文教程

    同时也有不少网友发来Email询问相关PowerDesigner问题或索要相关资料的,故下定决心制作本文档。折腾二十多天,终于输出了现在的文档,其中绝大部分内容都是依照PowerDesigner自带的帮助文档翻译过来,乐意啃英文的...

    powerdesigner16.5逆向工程,从远程oracle11g数据库导出PDM

    ### PowerDesigner 16.5 逆向工程与远程 Oracle 11g 数据库 PDM 导出 #### 一、概述 PowerDesigner 是一款强大的数据建模工具,广泛应用于数据库设计、概念数据模型(CDM)设计以及物理数据模型(PDM)的设计等...

    PowerDesigner常见问题.doc

    当 PowerDesigner 在生成 SQL 脚本时,可能会自动为字段的默认值添加不必要的单引号,这会导致语法错误。解决方法如下: 1. **进入** `Database -> Edit Current DBMS`; 2. **选择** `General` 标签页; 3. **定位...

    powerdesigner 显示注释程序

    "显示注释程序"正是为了解决这个问题而存在的,它是一个VBS(Visual Basic Script)脚本,能够帮助用户在PowerDesigner中查看并管理对象的注释。 在数据库设计过程中,注释是非常重要的元素,它们提供了对表、字段...

    powerDesigner16.5汉化包

    - **可能的问题**:汉化包并非官方提供,可能存在与原软件的兼容问题,导致软件运行不稳定或出现错误,这时可能需要回滚到原始语言版本或寻找更稳定的汉化解决方案。 通过使用"powerDesigner16.5汉化包",中国用户...

    PowerDesigner16.5汉化包.rar

    - **问题排查**:如遇到汉化不全或错误,可能需要调整汉化文件的位置或者更新汉化补丁。 5. **注意事项**: - **兼容性**:确认汉化包与PowerDesigner的版本匹配,不匹配可能导致软件异常。 - **版权问题**:...

    Powerdesigner生成项目构架

    这包括在 Powerdesigner 中配置 Eclipse 的集成,以及设置 Hibernate 的相关属性,使得生成的代码能够与这两个工具无缝配合。完成这些配置后,就可以开始绘制数据结构,构建所需的实体和关系。 接下来,我们需要...

    解决PowerDesigner中Name与Code同步的问题.doc

    在使用PowerDesigner的过程中,有时会遇到一个常见的问题,即Name(名称)与Code(代码)同步的问题。这个问题指的是当用户修改了一个实体或字段的Name时,其对应的Code也会自动更新,这可能不符合开发者的预期,...

    sybase powerdesigner 15介绍相关

    4. **模型间冲突分析**:通过冲突分析功能,PowerDesigner能够评估模型更改的影响,帮助用户确保模型的敏捷性和可预测性,避免不必要的错误和延误。 5. **需求分析和业务流程建模**:它提供了需求分析模型(RQM)和...

    PowerDesigner 12.5 汉化包

    在使用汉化包时,需要注意兼容性和完整性,确保汉化文件与PowerDesigner版本匹配,避免因不兼容导致的程序错误。同时,如果遇到问题,可以查阅官方文档或社区论坛寻求帮助。 总之,PowerDesigner 12.5汉化包为中文...

    PowerDesigner15使用时的十五个问题

    以下是对“PowerDesigner15使用时的十五个问题”的详细解答: 1. **安装与配置**:确保你的系统满足PowerDesigner的最低硬件和软件需求,如操作系统版本和JRE(Java运行环境)的兼容性。安装过程中可能出现的问题...

    使用powerdesigner 生成数据库设计文档

    本篇文章将详细介绍如何利用PowerDesigner来生成数据库设计文档,解决手动编写文档带来的繁琐和易出错的问题。 首先,我们需要理解数据库设计文档的重要性。它不仅记录了数据库的结构,包括表、字段、关系等,还...

    PowerDesigner 16 pdflm16.dll

    在标题“PowerDesigner 16 pdflm16.dll”中,"pdflm16.dll"是一个特定的动态链接库文件,它可能与PowerDesigner 16版本的某些功能或服务有关。 在描述中提到的“安装PowerDesigner 16后,在安装目录替换pdmflm.dll...

    PowerDesigner 12使用心得

    在使用 PowerDesigner 生成建表脚本时,用户可能会遇到字段超过 15 字符时发生错误的问题。解决办法是打开 PDM,进入 Database -> Edit Current DBMS -> Script -> Objects -> Column -> Maxlen,把 Value 值调大...

    powerdesigner导入excel生成表结构

    根据给定的文件信息,我们可以总结出以下关于如何利用PowerDesigner通过Excel文件生成数据库表结构的知识点: ### PowerDesigner 导入 Excel 生成表...希望这些信息能帮助您更好地理解和使用PowerDesigner的相关功能。

    PowerDesigner通过excel生成sql脚本.rar

    描述中提到的".vb"文件是VB编写的程序,可能是一个自定义的宏或者独立的VB应用程序,它的功能是读取Excel模板文件,然后调用PowerDesigner的相关API或命令行工具,将Excel中的数据转换为SQL建表语句。Excel模板文件...

    powerdesigner12.5汉化补丁

    此外,不兼容的汉化补丁可能会导致软件运行不稳定,甚至出现错误,因此选择一个可靠且与软件版本匹配的汉化补丁至关重要。 在实际应用中,PowerDesigner 12.5的汉化版本可以帮助数据库管理员、系统分析师和开发者更...

    PowerDesigner教程

    同时也有不少网友发来Email询问相关PowerDesigner问题或索要相关资料的,故下定决心制作本文档。折腾二十多天,终于输出了现在的文档,其中绝大部分内容都是依照PowerDesigner自带的帮助文档翻译过来,乐意啃英文的...

    PowerDesigner16.5汉化补丁

    为此,"PowerDesigner 16.5汉化补丁"应运而生,旨在解决这个问题,将原本的英文界面转换为中文,使得用户能够更加流畅地使用这一强大的工具。 PowerDesigner 16.5是Sybase公司推出的一款功能强大的数据建模工具,它...

Global site tag (gtag.js) - Google Analytics