erwin 9.x to 12.x Data Modeler - Export
Bridge Specifications
Vendor | erwin, Inc. |
Tool Name | erwin Data Modeler |
Tool Version | 9.x to 14.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 |
SPECIFICATIONS
Tool: erwin, Inc. / erwin Data Modeler version 9.x to 14.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: CaErwin9Xml version 11.2.0
OVERVIEW
The export bridge generates an erwin XML file.
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.
The export bridge requires the erwin Data Modeler COM/OLE API to export erwin metadata files.
Starting with erwin Data Modeler 9.8 / 2021 R1, erwin requires the user to re-confirm the license in the UI if the tool has not been used for more than 72 hours.
In order to avoid this inconvenience, erwin Data Modeler should be installed through the 'Offline Activation' email process which is available only on a node locked license.
FREQUENTLY ASKED QUESTIONS
n/a
LIMITATIONS
Refer to the current general known limitations at https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html
When importing from a multi model source technology (e.g. a database server with multiple databases or schemas), only one model (e.g. schema) is exported. Therefore, limit the import scope to a single model (e.g. subset one schema of a database).
SUPPORT
Provide a troubleshooting package with debug log. Debug log can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6
The export 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.xml -to eMovies.erwin -log eMoviesLog.txt
Bridge Parameters
Parameter Name | Description | Type | Values | Default | Scope | |||||||||||||||||||||||||||||||||||||||||||||||||
File | Generates either an .XML or .erwin (native erwin) file. Determines which format based upon the extension of the file name in this export bridge parameter. In order to load the converted .XML model in erwin: 1. Select 'Open' from the File menu. 2. In the 'List files of type' list box select XML Files (*.xml). 3. Navigate to the file directory. 4. Locate the file you want to open. 5. Click 'Open'. |
FILE |
|
Mandatory | ||||||||||||||||||||||||||||||||||||||||||||||||||
Version | The version of erwin to generate the data model for. When generating an erwin binary file (*.erwin), this version of the software must be installed locally. When generating an erwin XML file (*.xml), any version can be generated for use on the local or a remote computer. |
ENUMERATED |
|
Auto Detect | ||||||||||||||||||||||||||||||||||||||||||||||||||
Design level | Design level of the data model to export: 'Logical only' Generate a logical data model. 'Physical only' Generate a physical data model. 'Logical & physical' Generate a logical and physical data model. |
ENUMERATED |
|
Logical & physical | ||||||||||||||||||||||||||||||||||||||||||||||||||
Target database | The target database. 'Auto Detect' will attempt to auto-detect the target database from the originating model. | ENUMERATED |
|
Auto Detect | ||||||||||||||||||||||||||||||||||||||||||||||||||
Export dimensional properties | Enables the dimensional modeling features for this model and exports the dimensional role (fact, dimension, outrigger) and dimensional type (fixed vs slowly changing) of the tables. | BOOLEAN |
|
False | ||||||||||||||||||||||||||||||||||||||||||||||||||
XML Indentation (pretty printing) | Controls the pretty printing of XML, for the purpose of opening the generated file in a text editor. E.g. 'space characters' Several space characters as indentation. 'tab key' Tab character as indentation. 'empty' No indentation which leads to a more compact file. |
STRING | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Validate XML | Validate the generated XML before it is converted to the *.erwin binary format: 'True' Call the erwin API to validate the generated XML and then convert it to the *.erwin binary format 'False' Call the erwin API to only convert the generated XML to the *.erwin binary format When generating an erwin XML file only, no validation is performed. |
BOOLEAN |
|
True | ||||||||||||||||||||||||||||||||||||||||||||||||||
Connection | Allows selecting a connection by name, if the source model contains multiple database connections. If the source model contains multiple connections and this parameter value is left empty, the connection with the most objects is selected. |
STRING | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Miscellaneous | INTRODUCTION Specify miscellaneous options starting with a dash and optionally followed by parameters, e.g. -connection.cast MyDatabase1="MICROSOFT SQL SERVER" Some options can be used multiple times if applicable, e.g. -connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2; As the list of options can become a long string, it is possible to load it from a file which must be located in ${MODEL_BRIDGE_HOME}\data\MIMB\parameters and have the extension .txt. In such case, all options must be defined within that file as the only value of this parameter, e.g. ETL/Miscellaneous.txt JAVA ENVIRONMENT OPTIONS -java.memory <Java Memory's maximum size> (previously -m) 1G by default on 64bits JRE or as set in conf/conf.properties, e.g. -java.memory 8G -java.memory 8000M -java.parameters <Java Runtime Environment command line options> (previously -j) This option must be the last one in the Miscellaneous parameter as all the text after -java.parameters is passed "as is" to the JRE, e.g. -java.parameters -Dname=value -Xms1G The following option must be set when a proxy is used to access internet (this is critical to access https://repo.maven.apache.org/maven2/ and exceptionally a few other tool sites) in order to download the necessary third-party software libraries. Note: The majority of proxies are concerned with encrypting (HTTPS) the outside (of the company) traffic and trust the inside traffic that can access proxy over HTTP. In this case, an HTTPS request reaches the proxy over HTTP where the proxy HTTPS-encrypts it. -java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass |
STRING |
Bridge Mapping
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"erwin 9.x to 14.x Data Modeler" Metamodel CaErwin9Xml |
Mapping Comments |
Association | Relationship / Foreign Key | |
Aggregation | Identifying/ Non Identifying | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | Computed if not set |
PhysicalName | Physical_Name | Foreign Key Constraint Name |
AssociationRole | Relationship / Foreign Key | Two roles are created for each Relationship |
Multiplicity | Cardinality or Relationship_Nulls_Not_Allowed | |
Name | Parent To Child Phrase or Child-To-Parent Phrase | |
OnDelete | RI Actions: Delete Rule | |
OnInsert | RI Actions: Insert Rule | |
OnUpdate | RI Actions: Update Rule | |
Source | Based on the multiplicity of each role and the Identifying/Non Identifying property | |
AssociationRoleNameMap | Attribute/Index | Used to connect the attributes involved in a Relationship |
Attribute | Attribute/Column | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical Only, Physical Only | |
ExtraConstraint | Validation_Rule_Ref | if the validation rule cannot be set on the type |
Name | Name | |
Optional | Null Option | |
PhysicalName | Physical Name | |
Position | Order, Physical_Order | |
BaseType | Domain, Attribute Data Type | No equivalent, We create the 5 base types erwin requires |
BusinessRule | Default Values, Validation Rules | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
LowerBound | Validation_Rule_Min_Value | |
Name | Name | |
PhysicalName | Physical_Name | |
UpperBound | Validation_Rule_Max_Value | |
CandidateKey | Key Group/Index (non Foreign Key) | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
PhysicalName | Physical Name | if set by the user |
UniqueKey | Create an Inversion Entry if uniqueKey is false | |
Class | Entity/Table | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
DimensionalRole | Dimensional Notation Role Type | |
DimensionalType | Dimensional Notation Update Type | |
Name | Name | |
PhysicalName | Physical Name | |
ClassDiagram | ER Diagram | |
Description | Definition | |
Name | Name | |
DatabaseSchema | Owner | Table, View Stored Procedure, Sequence or Index owner |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
DerivedType | Domain, Attribute Data Type | |
Comment | Domain_Comment | |
DataType | Datatype | See datatype conversion arrays |
Description | Domain_Definition | |
InitialValue | Default and Default_Value | imported from the Not Mapped value tag associated to this type |
Length | Datatype | |
Name | Name | |
PhysicalName | Physical_Domain_Name | Mapped only if the Model is generated as Physical Only |
Scale | Datatype | |
UserDefined | Mapped as a Domain only if it is user defined | |
DesignPackage | Subject Area | |
Description | Definition | |
Name | Name | |
ForeignKey | Key Group/Index (Foreign Key) | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
PhysicalName | Physical_Name | if set by the user |
Generalization | Supertype/Subtype | |
DesignLevel | Logical_Only, Physical_Only | set to Logical Only if a transformation is created |
Name | Name | Computed. |
GeneralizationRole | Supertype/Subtype Relationship | |
Comment | Comment | |
Description | Definition | |
Name | Name | |
PhysicalName | Physical_Name | Foreign Key Constraint Name |
Identity | Sequence, Identity properties | |
Cycle | Cycle | |
IncrementValue | Increment By | |
MaximumValue | Maximum Value | |
MinimumValue | Minimum Value | |
StartValue | Starting Value | |
Index | Key Group/Index | |
Clustered | Index Clustered | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
PhysicalName | Physical_Name | |
IndexMember | Key Group Member/Index Member | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
Position | Key Group Member Position | |
SortOrder | Key_Group_Sort_Order | |
Note | Note | |
Value | Comment | |
Projection | Drawing Object | Graphical Information |
BackgroundColor | Fill Starting Color | |
Bold | Font Bold | |
FontColor | Font Color | |
FontName | Font Name | |
FontSize | Font Size | |
Height | Height | The height is not available if the box is in AutoSize mode |
Italic | Font Italic | |
LineColor | Outline Color | |
Strike | Font Strikethrough | |
Underline | Font Underline | |
Width | Width | The width is not available if the box is in AutoSize mode |
X | x | |
Y | y | |
PropertyElementTypeScope | User Defined Property | |
Scope | UDP Class | |
PropertyType | User Defined Property | |
DataType | Type | |
Description | Description | |
DesignLevel | UDP design level: Logical and/or Physical | |
InitialValue | Default value | |
Name | Name | |
NativeId | Object id | |
PhysicalName | Not used | |
Position | position | |
Usage | set to User | |
PropertyValue | User Defined Property | |
Value | Value | value set on an object |
RelationshipProjection | Drawing Object | Graphical Information |
Bold | Font Bold | |
FontColor | Font Color | |
FontName | Font Name | |
FontSize | Font Size | |
Italic | Font Italic | |
LineColor | Line Color | |
LinePoints | relationship path | |
Strike | Font Strikethrough | |
Underline | Font Underline | |
X | x | relationship mid point |
Y | y | relationship mid point |
SQLViewAssociation | View Relationship | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | Computed if needed |
PhysicalName | Physical_Name | |
SQLTableSequence | Relationship Sequence | |
SQLViewAttribute | View Column | |
Comment | Comment | |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
PhysicalName | Physical_Name | |
Position | Order | |
SQLViewEntity | View Table | View Entity |
Comment | Comment | No equivalent, (erwin fails to import) |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
PhysicalName | Physical_Name | |
WhereClause | View SQL or Where clause | |
Sequence | Sequence | |
DataType | Datatype | |
Description | Comment | |
Length | Datatype | |
Name | name | |
NativeDataType | Datatype | |
Scale | Datatype | |
Shape | Shape, Text Box | |
BackgroundColor | Fill Color | |
Bold | Font Bold | |
FontColor | Font Color | |
FontName | Font | |
FontSize | Font Size | |
Height | Used to provide placement information | |
Italic | Font Italic | |
LineColor | Line Color | Object outline color |
Name | Name | Object name as stored in MIR model |
ShapeType | Type of the drawing object corresponding to the Drawing Objects palette | |
Strike | Font Strikeout | |
Underline | Font Underline | |
X | Used to provide placement information | |
Y | Used to provide placement information | |
Z | Z-order of the object | |
StoreModel | Model/Diagram | The model is built using the elements contained in the erwin file |
Description | Definition | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | Model Name |
SystemType | Target Server | |
SystemTypeOld | Target Server | |
StoredProcedure | Stored Procedure | |
Description | Comment | |
DesignLevel | Logical_Only, Physical_Only | |
Name | Name | |
Semantics | Template_Code | |
Synonym | Synonym | |
Name | Name | |
Trigger | Trigger | Table Trigger |
Description | Comment | |
Name | Name | |
Semantics | Trigger_Body | |
TriggerType | Trigger_Fire | |
TypeValue | Validation Rule | |
Name | Name | |
Position | Order | |
Value | Definition |