Data Dictionary with Use Owner Name
Good afternoon all:
D4, RB6, Oracle 8i using DOA components.
I have just completed a lengthy series of reports for a client via end-user
reporting.
I did this work as the database owner, and didn't test incrementally as a
user :-(
Now, when I try to access the end-user reporting application as a user who
has the rights to the various database tables granted to them via a role, I
get an error that the table or view does not exist.
The data-dictionary was not set to use owner names due to the fact that some
of the tables are temporary and will exist in each seperate users schema.
:-(
It appears that all the of data settings in all the reports have no
reference to the proper table.
I have found that setting the data dictionary to user owner names and
recreating the dataviews for a report will solve the problem with regard to
the table/view not found error.
However this does nothing to help with the use of temporary tables that are
in the current users schema.
Also, I have created a procedure to load the rb_table and rb_field tables
with only those tables I want the user to see.
My questions are:
1/. Is there a way to correct this without having to reload each report and
reconstruct the data views? I have tried exporting the dataview. Modifying
the dtm file and reimporting it, but it does not seem to work.
2/. Is there a way around the problem with the tables existing in multiple
schemas.
3/. When loading the rb_table and rb_field tables, should I include the
owner name in the table_name column? ie owner_name.table_name rather than
just table_name
Thanks in advance.
--
Geoff Dunmore
Rylex Software Systems
Box 346
Ruthven ON N0P 2G0
gdunmore@rylex.ca
D4, RB6, Oracle 8i using DOA components.
I have just completed a lengthy series of reports for a client via end-user
reporting.
I did this work as the database owner, and didn't test incrementally as a
user :-(
Now, when I try to access the end-user reporting application as a user who
has the rights to the various database tables granted to them via a role, I
get an error that the table or view does not exist.
The data-dictionary was not set to use owner names due to the fact that some
of the tables are temporary and will exist in each seperate users schema.
:-(
It appears that all the of data settings in all the reports have no
reference to the proper table.
I have found that setting the data dictionary to user owner names and
recreating the dataviews for a report will solve the problem with regard to
the table/view not found error.
However this does nothing to help with the use of temporary tables that are
in the current users schema.
Also, I have created a procedure to load the rb_table and rb_field tables
with only those tables I want the user to see.
My questions are:
1/. Is there a way to correct this without having to reload each report and
reconstruct the data views? I have tried exporting the dataview. Modifying
the dtm file and reimporting it, but it does not seem to work.
2/. Is there a way around the problem with the tables existing in multiple
schemas.
3/. When loading the rb_table and rb_field tables, should I include the
owner name in the table_name column? ie owner_name.table_name rather than
just table_name
Thanks in advance.
--
Geoff Dunmore
Rylex Software Systems
Box 346
Ruthven ON N0P 2G0
gdunmore@rylex.ca
This discussion has been closed.
Comments
I think you need set DataDictionary.UseTableOwnerName to true. Then
repopulate the DataDictionary. If you use the DataDictionary Builder, it
will generate the entries in the format OwnerName.TableName.
The best approach for converting the reports is to repopulate the
DataDictionary entries and then use the Query tools to rebuild the queries.
For the tables that exist in each users schema, you might try manually
editing the DataDictinary enteries so that those entreies do not include the
OwnerName prefix. I have not tried this.
We do not currently have an Oracle server running here -due to swapping
machines for various tasks. We'll work on getting a test server installed.
--
Nard Moseley
Digital Metaphors
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
template file to that of a previous template file.
There only seem to be a couple of places where there are any changes. If the
below noted areas are the only ones affected by the Owner Name, it would be
far faster to export the data module and make the changed manually than it
would to rebuild some of the queries that the reports are based on.
I have over 100 reports to rework, so you can see my dilemna.
OLD
SQLText.Strings = (
'SELECT BADGE_DATA.BLDGSEC_BADGENBR'
'FROM BADGE_DATA BADGE_DATA')
NEW
SQLText.Strings = (
'SELECT BADGE_DATA.BLDGSEC_BADGENBR'
'FROM ULYSSE.BADGE_DATA BADGE_DATA')
OLD
object daTable1: TdaTable
ChildType = 5
Alias = 'Badge Data'
JoinType = dajtNone
SQLAlias = 'BADGE_DATA'
TableAlias = 'Badge Data'
TableName = 'BADGE_DATA'
end
NEW
object daTable1: TdaTable
ChildType = 5
Alias = 'Badge Data'
JoinType = dajtNone
OwnerName = 'ULYSSE'
SQLAlias = 'BADGE_DATA'
TableAlias = 'Badge Data'
TableName = 'BADGE_DATA'
end
--
Geoff Dunmore
Rylex Software Systems
Box 346
Ruthven ON N0P 2G0
gdunmore@rylex.ca