By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,673 Members | 1,268 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,673 IT Pros & Developers. It's quick & easy.

Java vs. .Net support for Oracle

P: n/a
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

Nov 13 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
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
Nov 13 '05 #2

P: n/a
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.

"Joe Kinsella" <jk*******@silverbacktech.com> wrote in message
news:uh**************@TK2MSFTNGP10.phx.gbl...
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

Nov 13 '05 #3

P: n/a
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
Nov 13 '05 #4

P: n/a
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
Nov 13 '05 #5

P: n/a
Besides Oracle data provider for .Net, you may have two other choice:

1. SYSTEM.DATA.OLEDB. This only require your client have MDAC and Oracle
client installed.
2. ODP.NET Provided by Oracle:
http://otn.oracle.com/tech/windows/odpnet/content.html

And here may be a good article for reference:

http://www.fawcette.com/vsm/2003_07/...design/default.
asp

Luke

(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Nov 13 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.