`
xiangel
  • 浏览: 10599 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ERWIN API使用

阅读更多
近期在使用ERWIN软件做ER图,相关的表,视图和备注(就是中文说明啦)信息在数据库(Oracle)中都有,使用reverse engineer(反向工程)将数据库中的信息导出。导出后发现逻辑模型的Entity和Attribute为英文名(数据库中的表名和字段名,为方便叙述,后面就统一使用中文名和英文名名称),原来做ERWIN模型的时候都是手工修改逻辑模型,或者用按键精灵等工具来处理,很繁琐。后来了解ERWIN软件有提供API接口来操作,经过一天的摸索和试验,终于搞定。这里将相关信息记录如下。

1、ERWIN API介绍
ERWIN的API叫SCAPI ,全称是Script Client API,是ALLFUSION DM 的一部分,可用于客制化插件开发和第三方工具。
SCAPI的逻辑分层如下:
   Application Tier
   Model Directory Tier
   Session Layer
   Model Data Tier

相关文档如下:
ERWIN安装目录下的Doc\ERwin_API_Ref.pdf,里面的介绍很全面,并有用C#和VB操作的相关代码,英文文档。
ERPWIN API 使用指南,中文文档,不过里面的示例代码看着有点乱

2、相关细节
由于导出的模型中的Definition属性中已经有中文名(从数据库中的comment导出的),这里实现只需将对应的Entity和Attribute的名字改为对应的definition中的内容即可。
我是使用的python和pywin32调COM接口来实现的
#创建COM对象
scapi = win32.Dispatch('AllFusionERwin.SCAPI')
#建立与持久装置中模型的连接
scPUnit = scapi.PersistenceUnits.Add(filename,"RDO=yes")
#建立存取内存中模型数据的连接
scSession = scapi.Sessions.Add()
scSession.Open(scPUnit,0,0)
#事务控制
scTranId = scSession.BeginTransaction()
#获取所有Entity模型对象
scMObjects = scSession.ModelObjects.Collect(scSession.ModelObjects.Root,'Entity',1)
for scObj in scMObjects:
    #取Definition属性的值
    scDefineName = scObj.Properties('Definition').Value
    #对象名赋值
    scObj.Properties('Name').Value = scDefineName 
    #获取该Entity的所有Attribute对象
    scAttrObjects = scSession.ModelObjects.Collect(scObj,'Attribute',1)
    #Attribute名的修改与上面类似
    ...
scSession.CommitTransaction(scTranId)
#另存为一个新的文件
scPUnit.Save(newfilename,'OVF=yes')
1
0
分享到:
评论
1 楼 chuqianghuang 2013-03-30  
能发你的PYTHON代码来参考下吗?

我现在的代码,总是报ERWIN API版本不符的错误,都不知道怎么搞的

相关推荐

    ERwin-API使用指南.pdf

    根据给定文件内容,以下是关于ERwin API使用指南的知识点: 1. ERwin API概述: - ERwin API是一套编程接口,允许开发者通过脚本或者程序代码与ERwin模型交互。 - 它包含不同层次的接口,包括模型目录层(Model ...

    ERWIN-API使用指南

    ### ERWIN-API使用指南:深入理解SCAPI与API组件 #### 一、SCAPI概览 **ERWIN SCAPI**,全称为Script Client API,是ERWIN Data Modeler (ERWIN DM)的一个核心组成部分,专门用于扩展软件功能,支持定制化插件开发...

    erwin API Reference Guide v7.3

    `erwin API Reference Guide v7.3`是erwin Data Modeler的重要组成部分,它不仅详细介绍了如何使用erwin的API接口,还提供了关于版权、使用限制以及免责声明等关键信息。对于希望利用erwin的强大功能开发定制化解决...

    ERwin方法指南中文版

    本指南将深入探讨ERwin4.0的使用方法,旨在帮助初学者和有经验的数据库设计师更好地理解和操作这个工具。 首先,了解ERwin的基本界面和布局至关重要。ERwin的主窗口分为多个部分,包括模型浏览器、实体视图、属性...

    ERwin7.3.10下载地址

    - **API扩展**:提供了更丰富的API接口,方便第三方应用与ERwin进行集成。 #### 四、ERwin7.3.10安装与使用指南 **1. 下载安装** - 从百度网盘提供的链接下载ERwin 7.3.10安装包。 - 运行安装程序,按照提示完成...

    erwin最全教程1

    “erwin-API使用指南.doc”则深入探讨了erwin的API应用,这对于需要进行自动化建模或者集成其他系统的人来说至关重要。通过API,用户可以编写脚本实现批量创建模型、导出模型为各种格式等高级功能,提高工作效率。 ...

    ERwin学习资料打包

    ERwin-API使用指南.doc ERwin-IDEF1X4.ppt ERwin操作手册.doc ERwin方法论.doc ERwin教程.ppt ERwin快速入门.txt 使用ERwin进行MYsql数据库设计.doc 使用ERwin设计数据库.txt 数据库建模.ppt ERwin_Methods.pdf

    DB2 查询分析器 C# ERWIN

    DB2查询分析器C# ERWIN利用DB2的API或ODBC/JDBC驱动来执行SQL查询,与数据库进行通信。 3. **ERWIN数据建模工具**: ERWIN是一款流行的数据建模软件,允许用户创建和管理实体关系模型。它支持物理和逻辑数据模型,...

    ERwin教程集

    "erwin-API使用指南.doc"则针对高级用户,讲解了ERwin的API接口,如何通过编程方式与ERwin进行交互,自动化建模过程,或者定制自己的工作流。这对于开发者和系统管理员来说非常有用,可以提高工作效率并实现特定需求...

    erwin 的学习手册

    根据提供的文件信息,我们可以归纳出一系列与ERwin相关的知识点,主要围绕数据建模工具ERwin的功能、使用场景以及其在数据库设计中的应用等方面展开。以下是对这些知识点的详细阐述: ### ERwin概述 ERwin是一款...

    Erwin:各种与元数据到CA Erwin 9.x和2020的导出和导入有关的Python脚本

    标题中的“Erwin”指的是CA Technologies的Erwin Data Modeler,这是一个广泛使用的数据库建模工具,用于设计和管理企业级的数据模型。这个工具允许用户创建、编辑和管理实体关系(ER)模型,支持多种数据库系统。...

    Erwin Data Structures and Tools-开源

    6. **文档提取**:Erwin 还包含文档提取功能,可以从源代码中自动提取注释,生成API文档,这对于开源项目来说尤其重要,便于其他开发者理解和使用。 Erwin 2.0.279 版本是该工具的一个具体发行版本,可能包含了性能...

    db2 oracle sql server sybase access 数据库连接详解

    在本文中,我们将详细介绍数据库连接的各种方式,包括 Oracle、Sybase、SQL Server、Access 等多种数据库的连接方式,以及 ERWIN 工具的使用。 数据库连接是指应用程序与数据库之间的交互过程,通过数据库连接,...

    ETLAssitant总体设计说明书

    - 这一步骤的核心是通过ERWIN API读取模型中的元数据,并将其整理成易于处理的格式。此功能需要准确地捕捉到Erwin模型的所有细节,如实体、属性、关系等,并按照一定的逻辑组织这些信息。 - **2. 填充SDM模板** -...

    Datablau DDM 5.5 数据建模工具

    Datablau DDM是新一代数据模型管理工具,由ERwin数据建模研发骨干开发团队荣誉出品。传统建模工具主要面向设计,而DDM创新的融合了数据治理理念,把数据治理推进到开发流程中,进行开发态的源头治理,解决了标准落地...

    pybullet guide book

    下面是 PyBullet 的指南,涵盖了其主要功能和API。 快速入门 PyBullet 提供了一个快速入门指南,帮助用户快速上手使用 PyBullet。该指南由 Erwin Coumans 和 Yunfei Bai 在 2017/2018 年编写。 连接和断开 ...

    python-imfit:Peter Erwin的Imfit的Python绑定

    Pyhton-Imfit python-imfit是一个python包,其中包含Imfit的绑定,Imfit是由Peter Erwin < >开发的用于拟合天文图像的程序。 该软件包取决于的,该公开了其内部API。 请访问的网页以获取最新版本和文档。

    PyBullet Quickstart Guide

    PyBullet 快速入门指南是Erwin Coumans和Yunfei Bai在2016年至2020年期间创建的一个文档,旨在帮助用户熟悉PyBullet这一强大的Python库。PyBullet是一个开源的物理引擎,专门用于创建和模拟各种环境,特别是在强化...

    spring chm文档

    Erwin Vervaet Portia Tung Ben Hale Adrian Colyer John Lewis Costin Leau Rick Evans 2.0 Copies of this document may be made for your own use and for distribution to others, provided that you do...

Global site tag (gtag.js) - Google Analytics