cancel
Showing results for 
Search instead for 
Did you mean: 

Database name in objects

former_member729889
Participant
0 Kudos

Hi,

We need to switch between databases based on BO test and productive environments.

DBTEST.Table.Field

DBPROD.Table.Field

are samples for the universe objects.

If only database names were same and server IPs were different, I would change the connection. However, in this case I'm not sure how can I handle the db names.

Is there any option to hide database names when creating objects in universes?

Or any variables to use for this purpose?

Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

former_member193452
Active Participant
0 Kudos

Hi Steve,

If you are using the Universe design tool then it is possible to remove the database name and qualifier.  Then when switching connection, the data source must have exactly the same table names.

Here are the steps:

in the table view graphic panel on the right, edit > select all > Rename tables.

this brings up the database owner and qualifier names.  remove these

Next

Locate the PRM file for your data source.  under program files x86 > BO installation > BO Enterprise > DataAccess\Connectionserver\RDBMS

where RDBMS = your datasource type example Oracle or DB2

locate rdbms.prm, make a copy > edit with notepad editor

find the Owner and qualifier entries and change to No.

save and close,

re-launch the Universe design tool.

This also works for Single source IDT/Unx universe,

but it does not for a multisource = owner and qualifier are mandatory.

former_member729889
Participant
0 Kudos

Hi Jacqueline,

Thank you!

This will probably help me a lot.

Just two questions:

- I don't see the owner & qualifier entries for Teradata

- You mean, even if I do this. When using the same db in a multisource universe, dbname will be shown in the objects?


<?xml version="1.0" encoding="UTF-8"?>

<DBParameters>

    <Configuration>

        <Parameter Name="Datatype_Dtm">DATE</Parameter>

        <Parameter Name="Datatype_Int">INTEGER</Parameter>

        <Parameter Name="Datatype_Blob">BYTE(32000)</Parameter>

        <Parameter Name="Datatype_Null"/>

        <Parameter Name="TransactionCreate">No</Parameter>

        <Parameter Name="Datatype_Double">FLOAT</Parameter>

        <Parameter Name="Datatype_String">VARCHAR</Parameter>

        <Parameter Name="LenMaxForVarchar">254</Parameter>

        <Parameter Name="LenMaxForTableName">30</Parameter>

        <Parameter Name="LenMaxForColumnName">30</Parameter>

    </Configuration>

</DBParameters>

former_member193452
Active Participant
0 Kudos

Hi Steve,

That was a generalized answer, and of course Teradata will have special considerations

For Teradata Owner is supported by not Qualifer and Also Teradata has its own special parameter in the SBO file for an ODBC connection

Replace Current Owner With Database

you will also find the Owners Available parameter and the qualifiers available

If you plan on using a multisource setting these parameters in the configuration files will impact all Teradata connections - single source, multisource unv.... so If using the multisource the owner is required and the catalog. There is not an automatic change just for the multisource. Hope this helps!

Pick up the data access guide here: http://help.sap.com/bobi/#section5

Jacqueline

former_member729889
Participant
0 Kudos

Hi Jacqueline,

Thank you very much!

I didn't have chance to test this parameter yet. Will it change DBTEST.Table.Field as USER.Table.Field or something like that?



1.12.1

Replace Current Owner With Database

<Parameter Name="Replace Current Owner With Database">Yes</Parameter>

Table 106:

Description

Specifies if the driver returns the current database name when the data source is queried for the current

owner. Only used with ODBC connections.

Values

Yes

: the current owner is mapped to the Teradata database name.

No

: the current owner is mapped to the current user name.

Default

No

Answers (0)