2009-03-25 5 views
6

Próbuję dowiedzieć się, jaki jest najlepszy sposób podłączenia (istniejącej) aplikacji ASP.Net do bazy danych Oracle w celu odczytania informacji ze słownika.Jak wybrać dostawcę Oracle dla aplikacji .Net?

Są po prostu zbyt wiele możliwości:

  • MS danych dla Oracle (wymaga 8.1.7, nazw System.Data.OracleClient)
  • Oracle Data Provider for .NET (wymaga 9.2, Oracle namespace .DataAccess)
  • Oracle Provider dla OLE DB
  • MSDASQL i ODBC

Jak moja obecna aplikacja używa MS Serwer SQL, dalsze opcje byłoby:

  • Linked Server, dostęp poprzez server..user.object
  • serwer połączony poprzez OPENROWSET

Istnieje kilka pytań na podobnych tematów na SO, ale tylko niektórzy przyjęli odpowiedzi.

Jakie są Twoje wrażenia z każdym z kierowców? Jakie są ich zalety i wady?

Oczywiście Oracle zaleca ODP.Net. Czy dzisiejszy jest problem z wersją 9.2 (lub wyższą)?

Odpowiedz

6

Ja też polecam ODP.NET. Wybierz najnowszego dostawcę (http://www.oracle.com/technology/tech/windows/odpnet/index.html). Może łączyć się z bazą danych Oracle 9.2 lub nowszą wersją bazy danych.

Dostawca danych MS dla Oracle jest bardzo ograniczony. Nie można pracować z tablicami i typami zdefiniowanymi przez użytkownika. I dlaczego Microsoft miałby zapewniać dobre wsparcie przy łączeniu się z Oracle?

Możesz również sprawdzić dostawcę devart: http://www.devart.com/dotconnect/oracle/. Obsługuje strukturę podmiotu.

4

Opcje Dump OLE DB i ODBC, jeśli masz bezpośredniego dostawcy dostępu do danych, nie ma potrzeby korzystania z OLE DB lub ODBC.

Polecam Oracle Data Provider dla .NET.

1

Microsoft właśnie ogłosił, że jest to deprecating System.Data.OracleClient.

Myślę, że pozostawia nam z kilkoma wyborów (co najmniej):

  • ODP.NET (wolne od Oracle)
  • Devart
  • DataDirect

Devart także implementacja LINQ do Oracle, która może być dla Ciebie interesująca.