Java vs. .Net support for Oracle

  • Thread starter Thread starter Joe Kinsella
  • Start date Start date
J

Joe Kinsella

Java JDBC defines four types of database drivers. A type 4 driver is a
native protocol, fully Java-enabled driver. For Oracle, this means the
driver is written to the socket based protocol supported by Oracle's TNS
Listener. Oracle's type 4 driver for Java has been widely used in the Java
community since it does not require an Oracle client to be installed on each
workstation.

A quick look at Oracle's downloads suggests they aren't making it easy for
..Net developers. For Java they provide both type 2 and 4 drivers, where
their type 2 driver even has a small 200K download that installs the
necessary OCI libraries for JDBC only. However, for .Net they only provide
a 75MB Oracle data provider for .Net that requires the Oracle client to be
installed, and also comes with a large, cumbersome, non-redistributable
installation.

Is Oracle or Microsoft planning to rectify this situation by providing an
equivalent to a Java type 4 driver for .Net? It seems a pre-requisite for
commercial software vendors to write .Net applications that interact with
Oracle.

Joe
 
Version 1.1 of .NET framework has OracleClient library
for working with Oracle.

Tu-Thach
 
Yes, but it requires that the Oracle client is installed. To the best of my
understanding, the Oracle client is not redistributable with an application.
This means that with .Net I must require that my customers install and
configure the Oracle client on each workstation running our application.
However, with Java and the Oracle thin drivers, I do not have this
restriction (since the thin driver from Oracle does not rely on OCI but on
the TNS protocol).

Joe
 
If your clients have Oracle at their location, they already have rights to
the Oracle client, and likely have it installed already.

If your application is a web app, only your server(s) should have to access
the database, no end user access should be required.

What is your deployment scenario?

Your situation is pretty much typical for doing any MS development work
against an Oracle back end. It's a PITA but there's not much getting around
it.
 
It's a traditional software install, so yes, customers do have rights to the
Oracle client.

You are right that there is no getting around it in .Net today. I guess my
point was that a solution is available for free from Oracle for Java today -
and is quite widely used. In addition, the equivalent OCI solution for Java
is significantly easier than the equivalent for .Net (since it has
redistributable components that do not require the full Oracle client).

Certainly if Oracle can make a client-less solution for Java based on TNS,
they can do the same for .Net. And if Oracle is not planning on providing
this, I would hope Microsoft would be stepping in to fill the gap.

I'm surprised that other .Net developers - particularly those who have
developed with Java - are not finding the available solutions unacceptable.

My current solution is to stay with Java for this area of our product.
Unfortunately, this is not ideal.

Joe
 
Yes, I think your explanation hits the nail on head: neither Oracle nor
Microsoft has a vested interest in solving this problem. It's pretty clear
this is the case when you compare the connection options available from
Oracle for Java versus .Net.

There is nothing about my appication that makes Java a better option than
..Net. However, it's not acceptable to change our installation to require
customers to install and setup the Oracle client (it will make our
installation significantly more complex; plus we would now need to support
troubleshooting OCI). Therefore the only option available is to go with a
client-less option. Today, this means Java.

I'm not sure if the TNS protocol from Oracle is published or not. I assume
it must be since software companies are providing connectivity products that
rely on the TNS Listener. If so, you would think it would fairly easy for
Microsoft to provide such a product.

Joe
 
The Microsoft OLDEB Provider and the ODBC Drivers all the way back to when we first began connecting to Oracle have worked through the Oracle Client. There are no plans I
am aware of to change this model.

Want to know more? Check out the MSDN Library at http://msdn.microsoft.com or the Microsoft Knowledge Base at http://support.microsoft.com

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : (e-mail address removed) <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.




--------------------
 
Back
Top