Database design Sybase PowerDesigner更改许多(查找/替换/转换)数据项';s数据类型
我在PowerDesigner中有一个相对较大的概念数据模型。 生成物理数据模型并查看DBMS数据类型后,我需要更新每个数据项的所有数据类型(数字/文本) 我想在概念数据模型中进行查找/替换,或者在创建物理数据模型时以某种方式映射到不同的数据类型。例如,将文本->Clob的自动转换更改为文本->NVARCHAR(20)Database design Sybase PowerDesigner更改许多(查找/替换/转换)数据项';s数据类型,database-design,sybase,powerdesigner,Database Design,Sybase,Powerdesigner,我在PowerDesigner中有一个相对较大的概念数据模型。 生成物理数据模型并查看DBMS数据类型后,我需要更新每个数据项的所有数据类型(数字/文本) 我想在概念数据模型中进行查找/替换,或者在创建物理数据模型时以某种方式映射到不同的数据类型。例如,将文本->Clob的自动转换更改为文本->NVARCHAR(20) 谢谢 我不知道有什么“标准”的查找和替换,但这同样有效。您是否对您的模型运行过VBScript?如果没有,请让我知道,但如果有,请尝试以下其中一种: 对于概念模型: Set md
谢谢 我不知道有什么“标准”的查找和替换,但这同样有效。您是否对您的模型运行过VBScript?如果没有,请让我知道,但如果有,请尝试以下其中一种: 对于概念模型:
Set mdl=ActiveModel
FOR EACH TAB IN MDL.Entities
IF (not tab.isShortcut) THEN
FOR EACH COL IN TAB.ATTRIBUTES
IF COL.DATATYPE = "TXT" THEN
COL.DATATYPE = "VA20"
END IF
NEXT
END IF
NEXT
基本上,它将查看所有实体的所有属性,如果数据类型为“TXT”(文本),它将更改为“VA20”(变量字符(20))
对于物理模型:
Set mdl=ActiveModel
FOR EACH TAB IN MDL.Tables
IF (not tab.isShortcut) THEN
FOR EACH COL IN TAB.COLUMNS
IF COL.DATATYPE = "TEXT" THEN
COL.DATATYPE = "NVARCHAR(20)"
END IF
NEXT
END IF
NEXT
从我的头顶: 打开元模型编辑器并更改正在使用的DBMS的数据类型映射 您可以在Sybase提供的元模型定义文件中对此进行修改,也可以“克隆”(另存为…)或扩展它(并保持原始文件不变-这是推荐的方法)
我可以说得更具体一些(确切地说是如何做到这一点的),不过这篇文章已经很老了。因此,我最好等待问题作者的反馈。如果您想将所有CLOB更改为NVARCHAR(20),另一个简单的方法是确保您位于主物理图上,并转到模型->列。。。然后按数据类型对列表进行排序,突出显示包含要更改的数据类型的所有列。将选择中的第一个更改为新的数据类型,所有突出显示的列都将更改不,我还没有对模型运行VBScript,但这正是我要找的。然而。。。我刚刚将该产品注册为开发人员版本,不再能够创建概念模型,只剩下物理模型。物理模型中没有MDL.Entities,我看不到任何类似的东西。思想?“对象不支持此属性或方法:‘MDL实体’(0x800 A01B6),在第3行“您可以考虑使用域,下次您需要执行这样的全局替换时……