Page 1 of 1

OracleObject Creation

Posted: Mon 17 Nov 2014 13:16
by Albert
Hi, all!

I'm creating OracleObject with t_variant type parameter.

If user's schema is owner of type (t_variant) devart creates new object successfully.
If user's schema contains only link to object type (f.e. owner of t_variant is KPI and select makes by user ATP) devart breaks with Error code: ORA-04043 object xxx doesn't exist.

Where's bug?

.NET 4.0
Oracle 11g
Win7 x64
Devart.Data.Oracle.dll, v6.50.228.0

Code: Select all

 protected virtual string OracleTypeName
        {
            get { return "public.t_variant"; }
        }

Code: Select all

protected TVariant(StcValueType valueType, object pValue, OracleConnection connection)
	    {
		    OracleObject = new OracleObject(OracleTypeName, connection);
		    ValueType = valueType;
		    Value = pValue;
	    }

Re: OracleObject Creation

Posted: Fri 21 Nov 2014 10:49
by Pinturiccio
The public phrase means that the synonym is a public synonym and is accessible to all users. Remember though that the user must first have the appropriate privileges to the object to use the synonym. For more information, please refer to http://www.orafaq.com/forum/mv/msg/7750 ... msg_221675

In order to create OracleObject("public.t_variant", connection) on behalf of the 'ATP' user, you need to add the following privileges for the PUBLIC user:

Code: Select all

GRANT ALL ON "T_VARIANT" TO PUBLIC