VERIFIED SOLUTION i
X

Resolve the error 'MapInfo.Data.TableException: Unable to open table.: Oracle Error: OCI RC=-1, DBMS RC=931, DBMS Msg=ORA-00931: Missing Identifier' in MapXtreme .NET

Issue

When trying to open a table from a Oracle database schema with a username with numbers (e.g. 123), the following error is shown: 'MapInfo.Data.TableException: Unable to open table.: Oracle Error: OCI RC=-1, DBMS RC=931, DBMS Msg=ORA-00931: Missing Identifier'.

When using "123", it works fine. This happens with MapXtreme®.

 

Cause

This is caused by the username starting with a numeric value.

Resolution

UPDATED: November 15, 2017


In Oracle all usernames should start with an alphanumeric. Whilst it is possible to create a double-quoted username such as “123” these double-quotes then have to be used in perpetuity.
 
A quoted identifier begins and ends with double quotation marks ("). If a schema object is named using a quoted identifier, then the double quotation marks must be used whenever the object is referred to.
 
It is advise that all numeric usernames are not used. If all-numeric usernames are already in place, a suggestion would be to use OS authenticated users. This would have a prefix, by default OPS$. To do this you would have to enable remote_os_authent=TRUE, and set the os_authent_prefix appropriately. (defaults to OPS$).
 
So in this case the username might be OPS$123. Then all operations should work correctly.

Environment Details

Products Affected: MapXtreme.NET

Downloads

  • No Downloads