erwin 7.x Model Manager - 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 Mart |
Tool Version | 7.x |
Tool Web Site | https://erwin.com/products/erwin-data-modeler/ |
Supported Methodology | [Data Modeling] Multi-Model, Metadata Repository, Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout via COM API |
Data Profiling | |
Incremental Harvesting | |
Multi-Model Harvesting | |
Remote Repository Browsing for Model Selection |
SPECIFICATIONS
Tool: erwin, Inc. / erwin Mart version 7.x via COM API
See https://erwin.com/products/erwin-data-modeler/
Metadata: [Data Modeling] Multi-Model, Metadata Repository, Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout
Component: CaModelManager7 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 Model Manager Repository using the erwin 7.x COM API. Thus, erwin 7.x must be installed on the machine where this bridge is running. This erwin installation must be able to connect to and open models in the same Model Manager 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 Model Manager repository. Successful import depends upon the erwin API connecting to the database, using a 32-bit database client software. The erwin library used is EAL.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
Q: What are the required configuration steps when running this bridge as a Windows service?
A: This bridge interacts with erwin/ModelManager via its COM based API which may have to display messages on the desktop. Therefore, if this bridge is running within a server launched as a Windows service (rather than a classic Windows desktop application), make sure the check box: 'Allow service to interact with desktop' is set to true. In order to check this, click on the 'Properties' menu of such service, go to the 'Log On' tab, and look in the 'Local System Account' area. Check the 'Allow service to interact with desktop' control, and restart the Windows service.
LIMITATIONS
Refer to the current general known limitations at https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html
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
Bridge Parameters
Parameter Name | Description | Type | Values | Default | Scope | ||||||
Database type | Database connection type to connect to the Model Manager. erwin 7.3.5, 7.3.10 and 7.3.11 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. 8i/9i/10g/11g erwin 7.3.0 supports the following connection types: - SQL Server Vers. 7.x (using db-lib) - SQL Server 2000 (using db-lib) - SQL Server 2005/2008 (using native ODBC) - Sybase System 12.x (using ct-lib) - Oracle Vers. 8i/9i/10g/11g erwin 7.2.8 supports the following connection types: - SQL Server Vers. 7.x (using db-lib) - SQL Server 2000/2005/2008 (using db-lib) - Sybase System 12.x (using ct-lib) - Oracle Vers. 8i/9i/10g/11g erwin 7.2.6 and 7.2.7 support the following connection types: - SQL Server Vers. 7.x (using db-lib) - SQL Server 2000/2005 (using db-lib) - Sybase System 12.x (using ct-lib) - Oracle Vers. 8i/9i/10g/11g erwin 7.2.0 supports the following connection types: - SQL Server Vers. 7.x (using db-lib) - SQL Server 2000/2005 (using db-lib) - Sybase System 12.x (using ct-lib) - Oracle Vers. 8.xx/9i/10g Refer to your version of erwin for the exact connection types it supports. |
ENUMERATED |
|
Microsoft SQL Server 7 | |||||||
Database server | The database server you want to connect to. For Microsoft SQL Server or Sybase ASE, specify the server DNS address. E.g. localhost You can also specify a named SQL Server instance. E.g servername 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 | The master database you want to connect to. 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 | |||||||||
Browse mode | Specifies what will be retrieved when browsing for available objects in the Mart: 'Libraries and Models' The tree of Libraries and Models is retrieved. This is the default mode. 'Libraries only' Only of the list of Libraries is retrieved. Only libraries may be selected in this mode. This mode is more efficient on large Marts. |
ENUMERATED |
|
Libraries and Models | |||||||
Models | Specify here a list of erwin 7 model locator strings, separated by semicolon. For SQL Server: mmart://MyDatabase/MyLibrary/MyModel For Oracle: mmart:///MyLibrary/MyModel |
REPOSITORY_SUBSET | |||||||||
Incremental import | Incremental import only extracts what has changed since the last import. The initial full metadata harvesting (model import) of a very large source system can take a long time. However the extracted metadata are organized as a multi-model, where each model is a unit of change (e.g. Schema of a RDBMS server, or report of BI server). Subsequent model imports are dramatically faster than the initial import as this ${BridgeLib.import_bridge_name} will automatically try to detect changes in the source system, in order to only process the modified, added or deleted models and reuse all unchanged metadata from the model cache. Note however that the detection of change is more or less efficient depending on the sources system: e.g. BI servers can quickly provide the list of new, modified or deleted reports, but not all data stores offer a schema level change detection. 'True' Import only the changes made since the last import 'False' import all metadata. This option is required after upgrading the ${BridgeLib.import_bridge_name} in particular to take full advantage of any additional metadata coverage. For debugging purpose, the option -cache.clear of the Miscellaneous parameter can be used to clear one model from the cache which is located (by default) in: $HOME/data/MIMB/cache/<BridgeId>/<ModelId> |
BOOLEAN | True | ||||||||
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, this bridge 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 relationship description' From the description property. This option may be useful to some database modelers who decided to use the description property to document the relationships name instead of the regular 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 a logical model, entities may be assigned to one or more subject areas. When migrating to UML (Unified Modeling Language) entities are migrated as classes. Subject areas are migrated to packages. A class is generally a member of a package. To improve the usefulness of the migrated model,this bridge can move entities to subject areas: 'True' Use subject areas as conventional (UML) design packages with their own namespace where any entity may belong to ONLY one subject area. If entities belong to only one subject area, they will be placed in the corresponding package. Other entities are placed under the model. Assumes that all entities are defined within a user defined subject area. 'False' Do not move entities. |
BOOLEAN | False |
Bridge Mapping
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"erwin 7.x Model Manager" Metamodel CA ERwin Data Modeler (Mart) |
Mapping Comments |
DirectoryStructureModel | Mart | |
CreationTime | Creation Time | |
Description | Description | |
ImportDate | Import Date | |
Name | Name | |
NativeId | Native Id | |
NativeType | Native Type | |
Folder | Library | |
Author | Author | |
CreationTime | Creation Time | |
Description | Description | |
LastModificationTime | Last Modification Time | |
Modifier | Modifier | |
Name | Name | |
NativeId | Native Id | |
NativeType | Native Type | |
StoreContent | Model, Template | |
Author | Author | |
CreationTime | Creation Time | |
Description | Description | |
LastModificationTime | Last Modification Time | |
Modifier | Modifier | |
Name | Name | |
NativeId | Native Id | |
NativeType | Native Type |
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"erwin 7.x Model Manager" 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 |