Does 2.0 still require ODP.NET to connect to Oracle?

D

D. Patrick

I need to connect to an Oracle database. I've never done it before. I
see that with framework 1.1 you had to download ODP.NET from Oracle's site
in order for the framework classes to even work. I tried that quickly, but
the file is 400 MB, and the the installation asks for all kinds of things in
order to install. Now I'm very confused.

a) Do you still need ODP.NET with framework 2.0?
b) Do you need to download and install other Oracle files, too?
c) Do the answers to the ODP.NET questions about service names and host
names even matter when I'm going to be using a connection string inside my
code? Is my connection string somehow tied to those answers?
d) Can you refer to the server's IP address in your connection string
instead of the server name?

I can't find any good articles about this, and so your help above is
appreciated.
 
S

sdbillsfan

A.) You've never needed ODP.net, just the Oracle client.
B.) Microsoft has their own managed data provider for Oracle
(System.Data.OracleClient) but it's still built on top of the Oracle
OCI libraries.
C.) Not sure which questions you're speaking of but you'll still need
some way for the client to resolve the server (naming method specified
in sqlnet.ora).
D.) Do you mean when using the HOSTNAME naming method?
 
D

D. Patrick

I really appreciate your help because I have had nothing but confusion.

A) Even the "Oracle Database 10g Client Release 2 (10.2.0.1.0)" is 475 MB
(compressed)! Why do we need such a heavy underlying bit of stuff just to
make a connection to a database? I don't want to install 1 GB
(uncompressed) of junk on every server that needs an Oracle connection. Is
there not a simple way of just installing, say, 50 MB of needed DLLs, with a
simple couple-click install? Kind of like installing MDAC, to make my
point.

C) What I meant was that any of these Oracle installs ask for information
like service names and stuff. Are those answers irrelevant when I'm doing
..NET connections? Or will my .NET connections somehow reference some schema
that I define in my answers during the OCI install. What and where is
SQLNET.ORA ? And how do I edit it? I want tcp/ip. I've never done this.
I thought using the Oracle provider from .NET would be easy, but suddenly it
seems I have to know all kinds of stuff about Oracle's methodologies and
installs, and that is where I'm completely clueless, sorry.

D) I want to use a connection string that references the IP address of the
server, like:

"Data Source=123.123.123.123;User Id=username;Password=passwd;Integrated
Security=no;"

Can I do that? This thinking of mine is why I think that my answers to the
OCI install questions should be irrelevant because I'm specifying the
parameters here (except for indicating the tcp/ip preference, of course).

E) The DBA passed along a "service name" and a "host string" in addition to
my username and password. Where do those go? I'm a SQL Server person, and
those concepts are foreign to me. Similarly, I don't understand why I
don't specify a database name in my connection string, like I do with SQL
Server. ?

Thank you for any specifics you can provide. I do appreciate your help.
 
J

Jesse Houwing

D. Patrick said:
I need to connect to an Oracle database. I've never done it before. I
see that with framework 1.1 you had to download ODP.NET from Oracle's site
in order for the framework classes to even work. I tried that quickly, but
the file is 400 MB, and the the installation asks for all kinds of things in
order to install. Now I'm very confused.

a) Do you still need ODP.NET with framework 2.0?
b) Do you need to download and install other Oracle files, too?
c) Do the answers to the ODP.NET questions about service names and host
names even matter when I'm going to be using a connection string inside my
code? Is my connection string somehow tied to those answers?
d) Can you refer to the server's IP address in your connection string
instead of the server name?

I can't find any good articles about this, and so your help above is
appreciated.

DataDirect http://www.datadirect.com/products/net/index.ssp
offers a 100% managed solution that is able to connect directly to an
oracle host without oracleclient installation

So is Corelabs OraDirect http://crlab.com/oranet/

Jesse Houwing
 
J

Jesse Houwing

D. Patrick said:
I need to connect to an Oracle database. I've never done it before. I
see that with framework 1.1 you had to download ODP.NET from Oracle's site
in order for the framework classes to even work. I tried that quickly, but
the file is 400 MB, and the the installation asks for all kinds of things in
order to install. Now I'm very confused.

a) Do you still need ODP.NET with framework 2.0?

You need the Oracle client. ODP.Net is Oracles own implementation of a
ado.net driver.
b) Do you need to download and install other Oracle files, too?

These files are the ones that are needed. The Oracle Client Interface.
c) Do the answers to the ODP.NET questions about service names and host
names even matter when I'm going to be using a connection string inside my
code? Is my connection string somehow tied to those answers?

These answers never mattered to me, I always skip them during
installation and everything just works, but then again all naming and
network settings are pushed to the client pcs by the it department :)

The standard microsoft and oracle ado.net drivers require tnsnames
information to be stored somewhere. They can't connect directly to a
host/port.
d) Can you refer to the server's IP address in your connection string
instead of the server name?
No.

I can't find any good articles about this, and so your help above is
appreciated.

MSDN has a list of requirements:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/WD_ADONET/html/054f76b9-1737-43f0-8160-84a00a387217.htm

There are also a number of 3rd party oracle drivers for .Net, which
offer additional functionality over the standard microsoft oracle driver:
- Oracle offers ODP.Net with their client library, this is mostly a
drop-in replacement for the standard ms driver.
- DataDirect offers a 100% managed oracle driver solution that also
targets Sybase, MS SQL and other databases. more information here:
http://www.datadirect.com/products/net/index.ssp. This driver can also
connect directly to an oracle host (see:
http://media.datadirect.com/download/docs/dotnet2_2/dotnetref/title.htm)
- CoreLabs OraDirect is also a 100% managed library able to connect
directly to oracle over TCP/IP. They have a library that is just for
oracle. http://crlab.com/oranet/

Kind Regards,

Jesse Houwing
 
F

Frans Bouma [C# MVP]

D. Patrick said:
I need to connect to an Oracle database. I've never done it before.
I see that with framework 1.1 you had to download ODP.NET from
Oracle's site in order for the framework classes to even work. I
tried that quickly, but the file is 400 MB, and the the installation
asks for all kinds of things in order to install. Now I'm very
confused.

unless you use the expensive datadirect oracle provider, you need the
oracle CLI installed, which is a massive download. You also need that
installed for the MS oracle provider.

The 10.2 ODP.NET is a huge download also because it's beta. Oracle
expects to have it trimmed down to about 260MB when it gets final
(that's what they told me anyway)
a) Do you still need ODP.NET with framework 2.0?

you can also use the 9.2.0.7 odp.net version if you are using Oracle 9i
b) Do you need to download and install other Oracle files, too?
no

c) Do the answers to the ODP.NET questions about service names and
host names even matter when I'm going to be using a connection string
inside my code? Is my connection string somehow tied to those
answers?

service names etc. are used to setup tsnname data, so you can refer to
a database by using a single name. So yes that's tied to what you
specify in the connection string.
d) Can you refer to the server's IP address in your
connection string instead of the server name?

I don't think that's possible, though it's a no-brainer to walk
through the wizard which sets up a tsn name.

If you want to go with the MS oracle provider, you can use the oracle
client installation files, and don't need ODP.NET. However you also
miss a lot of features and have to deal with the quircks build into the
MS provider, like no support for xml types and all NUMBER(x,y) types
will be a system.decimal.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
D

D. Patrick

Frans Bouma said:
unless you use the expensive datadirect oracle provider, you need the
oracle CLI installed, which is a massive download. You also need that
installed for the MS oracle provider.

The 10.2 ODP.NET is a huge download also because it's beta. Oracle
expects to have it trimmed down to about 260MB when it gets final
(that's what they told me anyway)


you can also use the 9.2.0.7 odp.net version if you are using Oracle 9i


service names etc. are used to setup tsnname data, so you can refer to
a database by using a single name. So yes that's tied to what you
specify in the connection string.


I don't think that's possible, though it's a no-brainer to walk
through the wizard which sets up a tsn name.

If you want to go with the MS oracle provider, you can use the oracle
client installation files, and don't need ODP.NET. However you also
miss a lot of features and have to deal with the quircks build into the
MS provider, like no support for xml types and all NUMBER(x,y) types
will be a system.decimal.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------


How would I refer to the tsnname in the connection string?

Why didn't I see a tcp/ip connectivity option in the ODP.NET installation,
when it was trying to set up the schema or tsnname or whatever it was doing?
 
F

Frans Bouma [C# MVP]

D. Patrick said:
before. >> I see that with framework 1.1 you had to download ODP.NET
from >> Oracle's site in order for the framework classes to even
work. I >> tried that quickly, but the file is 400 MB, and the the
installation >> asks for all kinds of things in order to install.
Now I'm very >> confused.
string >> inside my code? Is my connection string somehow tied to
those >> answers?


How would I refer to the tsnname in the connection string?

Why didn't I see a tcp/ip connectivity option in the ODP.NET
installation, when it was trying to set up the schema or tsnname or
whatever it was doing?

Please refer to the ODP.NET docs for the connection string specifics.
You've to specify the connection string element 'data source' as in:
"data source=myserver;.... "

You should run the Net configuration assistant for configuring
connectivity settings.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top