Can't access read-only tables/views in 3.0

I have a client who wants to use Servoy 3.0 to combine data from a read-only view and data from read-write table(s) on the same form. I want to test this functionality on my own system using Sybase ASA.

I created a user called test and a view called viewtest. I gave the user read-only permissions on the view and on its underlying tables. Now when Servoy logs in as the test user and tries to display data from the test view, I get “Cannot show form data” and the error message is: com.servoy.j2db.dataprocessing.DataException: ASA Error -141: Table ‘invoice_view’ not found

What am I missing here? Is what my client wants possible in 3.0?

Hi Adrian,

Most views don’t have PK fields. Servoy needs one to fetch the data.
Open Developer and go into the Define Dataproviders window and tell Servoy what column it can use as row ident.

Hope this helps.

“ASA Error -141” might indicate that you did create the view as another users or in another schema.

Jan,

I have just read the Sybase ASA documentation regarding user permissions and db object ownership and I believe I have set this up correctly. Here’s what I did:

  1. While logged into the user_data db as DBA, I created a user called test, member of the group called public.
  2. I granted the public group select and reference permissions only on the client table.
  3. I log in to Sybase Central as test, and I get the expected behavior - I can select from the client table, but not from any other table.
  4. I have Servoy connect to the user_data db as username test, and Servoy reports that it can’t see the client table (error -141).

You mentioned schemas: they don’t seem to play a role in ASA’s security model.

If you can see what I’m doing wrong please let me know. THanks.

It really works fine for us, we create the view as user DBA via the rawSQL plugin