erwin 8.x Data Modeler (Single Model from mart) - Import
Bridge Requirements
This bridge:is only supported on Microsoft Windows.
requires the tool to be installed to access its SDK.
Bridge Specifications
Vendor | erwin, Inc. |
Tool Name | erwin Data Modeler |
Tool Version | 8.x |
Tool Web Site | https://erwin.com/products/erwin-data-modeler/ |
Supported Methodology | [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout via COM API on Native (.erwin) or Export (.XML) File |
Data Profiling | |
Incremental Harvesting | |
Multi-Model Harvesting | |
Remote Repository Browsing for Model Selection |
SPECIFICATIONS
Tool: erwin, Inc. / erwin Data Modeler version 8.x via COM API on Native (.erwin) or Export (.XML) File
See https://erwin.com/products/erwin-data-modeler/
Metadata: [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout
Component: CaErwin8ModelManager version 11.2.0
OVERVIEW
This bridge imports data models from erwin Model Manager, including logical only models with Entities, Attributes, Domains, physical only models with Tables, Columns, Data Types, or Logical/Physical models with both. This bridge also imports all relationships and their implementation (e.g. PK/FK) as well as the graphical layout of the data models (diagrams).
REQUIREMENTS
WARNING: This bridge uses the COM API of a Windows based tool client and/or SDK which must be (a) properly installed, (b) licensed on behalf of a Windows user capable of running this tool, and (c) capable of accessing the tool server content. In addition:
(1) As recommended by the tool vendor, the tool server must NOT be installed/coexist on the same machine where the tool client (and the bridge) is installed/running because of potential conflicts of resources, including with respect to COM API.
(2) Windows COM API based tools are notoriously unstable after repeated failures or lack of system resources, which requires a Windows reboot to make that tool COM API work properly again.
(3) If this bridge is running as an application, then it must be logged with the same above Windows user.
If the bridge is running as a Windows service, then go to the services manager of Windows, right-click on the MIMB Application Server service, and go to the "Log On" tab to define an account by name under which the service will run.
- erwin Installation:
This bridge connects to the erwin Data Modeler Workgroup Edition mart using its COM API.
Thus, erwin Data Modeler Workgroup Edition must be installed with a valid license on the machine where this bridge is running. This erwin installation must be able to connect to and open models in the same mart instance with the same connection information as specified in these bridge parameters. The version of the database client software installed on the machine running this bridge should match exactly with the version of the database server hosting the mart. Successful import depends upon the erwin API connecting to the database, using a 32-bit database client software.
The erwin libraries used are EAL.dll and ERXML.dll
- erwin User:
This bridge must run on behalf of the Windows user that can run the erwin software.
If this bridge is running as part of a Windows desktop application, then you must log onto Windows with that user.
If this bridge is running as part of a Windows service, then go to the Windows services and click on the 'Properties' menu of such service, go to the 'Log On' tab, select 'This account' and specify the same user name and password used as Windows session when testing connectivity from erwin to the mart, and restart the Windows service.
FREQUENTLY ASKED QUESTIONS
n/a
LIMITATIONS
Warning on Potential PopUp Messages
When importing .erwin models, there is a possibility that erwin may present a popup window that is unavailable for this bridge to respond to.
The result is this bridge will hang during import. A possible workaround recommended by the vendor is to modify the registry as follows, to avoid popup messages:
* Edit the registry on the machine where this bridge is running, using Regedit.exe
* Look for the key: HKEY_CURRENT_USER\Software\CA\ERwin Data Modeler\8.2\Messages
* Add data 'GDM-46=1;' to the value 'Message Status'
SUPPORT
-erwin Windows COM API debugging:
This bridge uses the erwin Windows COM API via simple scripts (erwinApi.js and erwinXml.js).
If these scripts are not working properly, contact erwin support to debug the issue (which may require re-installing erwin).
The scripts can be tested as follows:
cscript.exe //E:jscript //Nologo .\conf\MIRModelBridgeTemplate\ERwin\ERwinApi.js -version 9 -GetVersion
cscript.exe //E:jscript //Nologo .\conf\MIRModelBridgeTemplate\ERwin\ERwinXml.js -version 9 -from eMovies.erwin -to eMovies.xml -log eMoviesLog.txt
Bridge Parameters
Parameter Name | Description | Type | Values | Default | Scope | |||||
Database type | Specify here the database connection type to connect to the mart. erwin 8.0.0, 8.1.0 and 8.2.1 support the following connection types: SQL Server 2000 (using db-lib) SQL Server 2005/2008 (using native ODBC) Sybase System 12.x/15.x (using ct-lib) Oracle Vers. 10g/11g Refer to your version of erwin for the exact connection types it supports. |
ENUMERATED |
|
Microsoft SQL Server 2000 | ||||||
Database server | The database server you want to connect to. For Microsoft SQL Server or Sybase ASE, specify the server DNS address. You can also specify a named SQL Server instance. E.g. localhost For Oracle, specify the appropriate Oracle connection string you want to connect to. E.g. (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORA90) ) ) |
STRING | Mandatory | |||||||
Database name | Specify here the name of the master database you want to connect to. This parameter is not necessary for Oracle databases. |
STRING | ||||||||
Authentication | Specify here the authentication mode you want to use: 'Database Authentication' database connection user name and password. 'Windows Authentication' Windows username and password for secure database access. (Available only for Oracle and SQL Server databases). In Windows Authentication mode, these bridge parameters 'User name' and 'password' are not used. Instead, the login credentials are inferred from the current Windows session running this bridge. If this bridge is executed from a parent application running as a Windows service, this bridge uses the credentials under which the Windows service was started. |
ENUMERATED |
|
Database Authentication | ||||||
User name | The user name for Server Authentication. This parameter is not used in Windows Authentication mode. | STRING | ||||||||
Password | The user password for Server Authentication. This parameter is not used in Windows Authentication mode. | PASSWORD | ||||||||
Model | Specify here the erwin 8 model locator string. For SQL Server: mmart://MyDatabase/MyLibrary/MyModel For Oracle: mmart:///MyLibrary/MyModel |
REPOSITORY_MODEL | Mandatory | |||||||
Import UDPs | In erwin data modeler, a User Defined Property (UDP) is defined with a name (e.g. Threat Level), a definition (e.g. an enumeration with values: green, yellow, orange, red), and a possible default value (e.g. green). Applying a UDP to an object (e.g. table or column) can be done with an explicit value (e.g. orange) or without value therefore the default value of the UDP (e.g. green). By default, the ${BridgeLib.import_bridge_name} imports the UDP definitions as a Property Type. UDP can be imported: 'As metadata' Import an explicit value as Property Value, implicit values are not imported, the default value is kept on the Property Type only. 'As metadata, migrate default values' Import explicit and implicit values as Property Value objects. 'In description, migrate default values' Append the property name and value, even if implicit, to the object's description and/or comment (depending upon the design level). This allows you to export the UDP values to another tool which does not support the notion of UDP. 'Both, migrate default values' Import the UDP value, even if implicit, both as metadata and in the object's description and/or comment (depending upon the design level). |
ENUMERATED |
|
As metadata | ||||||
Import relationship name | Controls how the erwin relationship names are imported: 'From relationship name' from the name property. 'From derived name' from the verb phrase derived name. |
ENUMERATED |
|
From relationship name | ||||||
Import column order from | In erwin data modeler, the columns physical order can viewed through edit the current subject area 'Stored Display Settings', then click on tab 'Physical', group 'Display Level', then on the 'Physical Order' radio button. Controls how the erwin table's column order is imported: 'Column order' Order of the columns displayed in the erwin physical view. 'Physical order' Order of the columns in the database, as generated in SQL DDL. |
ENUMERATED |
|
Physical order | ||||||
Import owner schemas | Controls how the erwin owner schemas are imported: 'True' The owner schema for Tables and views and other database objects is imported. 'False' The owner schema for Tables and views and other database objects is ignored. This option may be useful for models where physical names are not unique, to indicate the model should be treated as a logical model (not ready for SQL DDL generation) while physical information is still maintained the model. |
BOOLEAN | True | |||||||
Import diagrams | Controls how the erwin data model diagrams are imported: 'None' Diagrams are not imported. 'Current view' Only the current view of the diagrams are imported. 'All' Diagrams are imported twice: once for the logical view and once for the physical view. |
ENUMERATED |
|
Current view | ||||||
Move entities to subject areas | In erwin data modeler, entities belong under the model and may be assigned to one or more subject areas. Move entities to subject areas: 'True' in order to use subject areas as conventional (UML) design packages with their own namespace where any entity may belong to ONLY one subject area. Specifically, if entities belong to only one subject area, they will be placed in the corresponding package. Other entities are placed under the model. Additionally, this option assumes that all entities are defined within a user defined subject area. 'False' |
BOOLEAN | False |
Bridge Mapping
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"erwin 8.x Data Modeler (Single Model from Mart)" Metamodel CA ERwin Data Modeler (Model) |
Mapping Comments |
Argument | Argument | |
Comment | Comment | |
DefaultValue | Default Value | |
Description | Definition | |
DesignLevel | Design Level | |
Kind | Kind | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
Position | Position | |
Association | Relationship | |
Aggregation | Identifying | True if identifying |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
ExtraConstraint | Constraint | |
Name | Name | |
NativeId | Native Id | |
AssociationRole | Unnamed RelationshipEnd, Named RelationshipEnd | |
Multiplicity | Cardinality | |
Name | Name | |
OnDelete | On Delete | |
OnInsert | On Insert | |
OnUpdate | On Update | |
Source | Source | Based on the multiplicity of each role and the Identifying/Non Identifying property |
Attribute | Attribute, Column, Primary Key Column - Attribute, Primary Key Attribute, Column - Attribute, Primary Key Column | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
ExtraConstraint | Constraint | if the validation rule cannot be set on the type |
Generate | Generate | |
InitialValue | Default Value | imported from the default value tag associated to this type |
Name | Physical Name, Name | |
NativeId | Native Id | |
Optional | Nullable | |
PhysicalName | Physical Name | |
Position | Position | |
BusinessRule | Min - Max, Valid Values List, Default Value, User-Defined | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
LowerBound | Min | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
UpperBound | Max | |
Value | Default Value, Text | |
CandidateKey | Candidate Key Group | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | if set by the user |
UniqueKey | Unique Key | True for Primary Key/Alternate Key, False for Inversion Entries |
Class | Entity, Table, Table - Entity, Data Source Table | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
DimensionalRole | Dimensional Role | |
DimensionalType | Dimensional Type | |
Generate | Generate | |
Name | Physical Name, Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
ClassDiagram | ER Diagram | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
MaxDefinitionLength | Max Definition Length | |
Name | Name | |
NativeId | Native Id | |
Notation | Notation | |
PhysicalName | Physical Name | |
Condition | Condition | |
Name | Name | |
ConnectionNamespace | Folder, Directory | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
ConnectionPackage | Data Source Schema | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
DatabaseSchema | Database Schema | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
DerivedType | Domain | The MIR UserDefined property is set to True for User Defined Domains |
Comment | Comment | |
DataType | Data Type | See datatype conversion arrays |
Description | Definition | |
DesignLevel | Design Level | |
InitialValue | Initial Value | imported from the default value tag associated to this type |
Length | Length | extracted from the datatype |
LowerBound | Lower Bound | imported from the validation rule associated to this type |
Name | Name | |
NativeDataType | Native Data Type | |
NativeId | Native Id | |
NativeLogicalDataType | Native Logical Data Type | |
PhysicalName | Physical Name | computed from the datatype, length and precision |
Scale | Scale | extracted from the datatype |
UpperBound | Upper Bound | imported from the validation rule associated to this type |
UserDataType | User Data Type | |
DesignPackage | Subject Area | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
FlatTextFile | Data Source File, File | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Physical Name, Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
ForeignKey | Foreign Key Group | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Generate | Generate | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | if set by the user |
Generalization | Subtype Relationship | |
Complete | Complete | |
Description | Definition | |
DesignLevel | Design Level | set to Logical Only if involved in a transformation |
Exclusive | Exclusive | |
Name | Name | |
NativeId | Native Id | |
GeneralizationRole | Subtype Relationship Role | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
OnDelete | On Delete | |
OnInsert | On Insert | |
OnUpdate | On Update | |
Identity | Identity | |
Cache | Cache | |
Cycle | Cycle | |
IncrementValue | Increment Value | |
MaximumValue | Maximum Value | |
MinimumValue | Minimum Value | |
Name | Name | |
StartValue | Start Value | |
Index | Index | |
Clustered | Clustered | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Generate | Generate | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
Unique | Unique | |
IndexMember | Index Member | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
NativeId | Native Id | |
Position | Position | |
SortOrder | Sort Order | |
Note | Note | |
Author | Author | |
Importance | Importance | |
ModificationTime | Modification Time | |
Name | Name | |
NativeId | Native Id | |
Status | Status | |
Value | Note | |
PhysicalObject | SQLServer Database, Oracle Database, Storage Group, DB2 Database, File Group | |
Comment | Comment | |
Name | Name | |
NativeId | Native Id | |
PropertyElementTypeScope | UDPs | used for UDP values and column physical information specific to Teradata: COMPRESS, CASE and FORMAT |
Name | Name | |
Scope | Scope | |
PropertyType | UDP | UDP design level: Logical and/or Physical |
DataType | Data Type | |
Description | Definition | |
DesignLevel | Design Level | |
Group | Group | |
InitialValue | Initial Value | |
Name | Name | |
NativeId | Native Id | |
Position | Position | |
Usage | Usage | set to User |
SQLViewAssociation | View Relationship | |
AliasName | Alias Name | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
SQLTableSequence | Sequence | |
SQLViewAttribute | View Column | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Expression | Expression | |
InitialValue | Default Value | |
Name | Name | |
NativeId | Native Id | |
Optional | Nullable | |
Position | Position | |
SQLViewEntity | View | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
DimensionalRole | Dimensional Role | |
Generate | Generate | |
GroupByClause | Group By Clause | |
HavingClause | Having Clause | |
Name | Name | |
NativeId | Native Id | |
OrderByClause | Order By Clause | |
SelectType | Select Type | |
ViewStatement | View Statement | |
ViewStatementType | View Statement Type | |
ViewType | View Type | |
WhereClause | Where Clause | The View SQL if user defined or else the Where clause |
Sequence | Sequence | |
Comment | Comment | |
DataType | Data Type | |
Description | Definition | |
DesignLevel | Design Level | |
Generate | Generate | |
Length | Length | |
Name | Name | |
NativeDataType | Native Data Type | |
NativeId | Native Id | |
Scale | Scale | |
StoreConnection | Model Source, Data Source | |
Comment | Comment | |
Connection | Connection | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
StoreType | Store Type | |
SystemMajorVersion | System Major Version | |
SystemMinorVersion | System Minor Version | |
SystemReleaseVersion | System Release Version | |
SystemType | System Type | |
SystemTypeOld | System Type Old | |
StoreModel | Model | |
Author | Author | |
Comment | Comment | |
CreationTime | Creation Time | |
Description | Definition | |
DesignLevel | Design Level | |
ModificationTime | Modification Time | |
Modifier | Modifier | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
StoreType | Store Type | |
SystemMajorVersion | System Major Version | |
SystemMinorVersion | System Minor Version | |
SystemReleaseVersion | System Release Version | |
SystemType | System Type | |
SystemTypeOld | System Type Old | |
StoredProcedure | Stored Procedure | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Generate | Generate | |
Name | Name | |
NativeId | Native Id | |
Postcondition | Postcondition | |
Precondition | Precondition | |
Semantics | Code | |
Synonym | Synonym | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Generate | Generate | |
Name | Name | |
NativeId | Native Id | |
Trigger | Trigger | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
FireOnDelete | Fire On Delete | |
FireOnInsert | Fire On Insert | |
FireOnUpdate | Fire On Update | |
Generate | Generate | |
Name | Name | |
NativeId | Native Id | |
Semantics | Code | |
TriggerType | Trigger Type | |
TypeValue | Type Value | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Design Level | |
Name | Name | |
NativeId | Native Id | |
PhysicalName | Physical Name | |
Position | Position | |
Value | Value |