Two important things to keep in mind with adapters:
1. All adapter definitions are stored in the sys (meta-meta data) data source. As a result you cannot have different adapter definitions for adapters having the same definition. It does not matter whether they are in the same or different bindings. However, since adapters are stored in a binding you can have adapters with the same name that reference different definitions by use of the definition attribute. E.g.,
<?xml version='1.0' encoding=...?>
<navobj version=...>
<machine>
<bindings>
...
<binding name='NAV'>
...
<adapters name='NAV'>
<adapter name='dbtest' type='DATABASE' definition='dbtest_nav'/>
<binding name='DEV'>
</adapters>
</binding>
<binding name='DEV'>
...
<adapters name='DEV>
<adapter name='dbtest' type='DATABASE' definition='dbtest_dev'/>
</adapters>
</binding>
...
</bindings>
</machine>
</navobj>
and
<?xml version='1.0' encoding=...?>
<navobj version=...>
<adapterDef name='dbtest_dev' type='DATABASE'>
...
</adapter>
<adapterDef name='dbtest_nav' type='DATABASE'>
...
</adapter>
</navobj>
where the '...' is a placeholder for some XML that has been omitted.
2. The name of the adapter definition object differs slightly between Studio and Nav_util export. When viewing the source tab of Studio for an adapter in the Meta Data Perspective you see something like
<?xml version='1.0' encoding=...?>
<navobj version=…>
<adapterDef name=’dbtest_nav’ type='DATABASE'>
...
</adapter>
</navobj>
whereas if you do a "nav_util export adapter_def foo foo.xml" you will see in foo.xml:
<?xml version='1.0' encoding=...?>
<navobj version=…>
<adapter name=’dbtest_nav’ type='DATABASE'>
...
</adapter>
</navobj>
The adapterDef and adapter object names are equivalent.


LinkBack URL
About LinkBacks




Reply With Quote