"Portable" way of querying Oracle database from C#

Discussion created by ssaad on Oct 6, 2011
Latest reply on Oct 13, 2011 by spilon



I´m currently developing a custom AF DataReference in C# that needs to perform queries against an Oracle database.


Due to DR´s architecture, the DR dll is downloaded to and run on the client machine, which results in the Oracle connection being open from the client machine and not from the AF Server. Since Oracle components are not part of Windows´ default installation like SQL Server´s, it would require that Oracle Client, or at least ODAC (Oracle Data Access Components), be installed on every single client machine that should use this custom DR.


It would be a nice idea to avoid this need for installing ODAC, for example by including all the essential ODAC dll´s in the DR project and later registering these dll´s on the AF Server as support assemblies. I have found a way of doing this for the System.Data.OracleClient namespace, but since it´s been deprecated by Microsoft, I´m using the Oracle.DataAccess.Client and Oracle.DataAccess.Types namespaces instead (known as ODP.NET).


Does anyone know how to pack ODP.NET?


Another option that would work around my problem would be performing the queries through a linked server in SQL Server, but the Oracle queries are actually functions that return an Oracle "REF CURSOR", and this return type does not seem to be easily handled by SQL Server linked server.




Sergio Saad