Search code examples
oracle-databasegroovyjavaoracle-data-integrator

ODI Groovy obtaining Directory of Physical schema (Path of source file)


I am trying to write a groovy script which obtains the source file location, I already tried using

SOurceDataStore.getLogicalSchema().getTechnology().getInternalName()

This only returns "FILE" technology that is being used.

If I wanted to obtain this path:

enter image description here

How can I achieve that?


Solution

  • Method getSchemaName() of class OdiPhysicalSchema can be used to retrieve the schema (or path for the file technology).

    Now it looks like you want to retrieve it from a Datastore so you should first find the model, then the logical schema, then the physical schema linked to it through a specific context. You would need an IOdiContextFinder to get the OdiContext object. The code would be something like this :

    context = ((IOdiContextFinder)odiInstance.getTransactionalEntityManager().getFinder(OdiContext.class)).findByCode("MY_CONTEXT");
    filepath = SOurceDataStore.getModel().getLogicalSchema().getPhysicalSchema(context).getSchemaName();