Table not visibleTag(s): Common problems

When you create a table, your userid is appended to the table name, for example if your user id/logon id is dba and you create MyTable, then this table is referenced as dba.MyTable. If you connect to it as dba, then you can just say MyTable (if you don't supply an owner prefix it assumes you are the owner), but any other user must refer to it as dba.MyTable.

This also affects how the table names display in the database painter and how the SELECT statements are painted for datawindows. If you connect to it as dba in the development environment, then the table name shows up in the painter as MyTable, and any datawindow created has a select statement that starts as SELECT FROM "MyTable". If another user, Foo, tries to execute the app and retrieve the DW, the DBMS prefixes his user name to the table name (because none was specified in the SELECT statement) and looks for Foo.MyTable, and thus cannot find it.

The easiest way to deal with this is to connect in the development environment with a user name other than the table owner whenever you create or modify a DW to force the inclusion of the owner prefix in the generated SELECT statement.

In this case the SELECT statement created will include the table owner prefix (i.e. dba.MyTable).

blog comments powered by Disqus