Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
229 views
in Technique[技术] by (71.8m points)

c# - How to choose an Oracle provider for .Net application?

I am trying to figure out what is the best way to connect an (existing) ASP.Net application to an Oracle database to read its dictionary information.

There are simply too many possibilities:

  • MS Data Provider for Oracle (requires 8.1.7, namespace System.Data.OracleClient)
  • Oracle Data Provider for .NET (requires 9.2, namespace Oracle.DataAccess)
  • Oracle Provider for OLE DB
  • MSDASQL and ODBC

As my current app uses MSSQL server, further options would be:

  • Linked Server, access via server..user.object
  • Linked Server via OPENROWSET

There are a couple of questions on similar topics on SO, but only some have accepted answers.

What's your experience with each of the drivers? What are their pros and cons?

Of course Oracle is recommending ODP.Net. Is the requirement of version 9.2 (or higher) a problem today?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I too recommend ODP.NET. Choose the latest provider (http://www.oracle.com/technology/tech/windows/odpnet/index.html). It can connect with an Oracle 9.2 database or a newer release of the database.

The MS Data Provider for Oracle is very limited. You can't work with arrays for example and user defined types. And why would Microsoft provide good support for connecting to Oracle?

You can also check out the provider of devart: http://www.devart.com/dotconnect/oracle/ . It supports the entity framework.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...