We are currently developing a multisource universe and our first (and so far only) connection is to an SQL Server database.
Our connection uses a database user which has access to several databases and schemas. In our universe we only use one, so we've set the "database name" parameter in our JDBC connection. In the Data Foundation I can therefore reference tables without the [database_qualifier].[database_owner] prefix, which is very important since the universe and connection will be duplicated many times and modified to point to different databases when it is placed in production.
Unfortunately, in the Business Layer it seems we cannot avoid the [database_qualifier].[database_owner] prefix. The only way I can get IDT to recognize my objects is to define them using the following syntax:
@catalog(short name)."database _qualifier.database_owner"."table_name"
The documentation seems to confirm this limitation, although it isn't particularly clear on the subject. However, if there is a default database qualifier and owner defined within the connection, I would expect to be able to reference my columns with the following syntax:
@catalog(short name)."table_name"
If I can't avoid using the database qualifier, I may have to re-implement my universe as a single source universe. I would like to avoid this both to save myself some pain (to say the least!), but also to keep the multisource option available for the future.