Как выбрать поставщика Oracle для .Сетевое приложение?
-
22-08-2019 - |
Вопрос
Я пытаюсь выяснить, каков наилучший способ подключения (существующего) ASP.Сетевое приложение к базе данных Oracle для чтения ее словарной информации.
Просто существует слишком много возможностей:
- Поставщик данных MS для Oracle (требуется 8.1.7, пространство имен System.Data.OracleClient)
- Поставщик данных Oracle для .NET (требуется 9.2, пространство имен Oracle.Доступ к данным)
- Поставщик Oracle для OLE DB
- MSDASQL и ODBC
Поскольку мое текущее приложение использует MSSQL server, дополнительными опциями будут:
- Связанный сервер, доступ через server..user.object
- Связанный сервер через OPENROWSET
На SO есть пара вопросов на похожие темы, но только на некоторые есть приемлемые ответы.
Каков ваш опыт общения с каждым из водителей?Каковы их плюсы и минусы?
Конечно, Oracle рекомендует ODP.Net .Является ли требование версии 9.2 (или выше) проблемой сегодня?
Решение
Я тоже рекомендую ODP.NET .Выберите последнего поставщика (http://www.oracle.com/technology/tech/windows/odpnet/index.html).Он может подключаться к базе данных Oracle 9.2 или более новой версии базы данных.
Поставщик данных MS для Oracle очень ограничен.Вы не можете работать, например, с массивами и пользовательскими типами.И почему Microsoft должна предоставлять хорошую поддержку для подключения к Oracle?
Вы также можете обратиться к поставщику devart: http://www.devart.com/dotconnect/oracle/ .Он поддерживает entity framework.
Другие советы
Сбросьте параметры OLE DB и ODBC, если у вас есть поставщик прямого доступа к данным, нет необходимости использовать OLE DB или ODBC.
Я рекомендую Oracle Data Provider для .NET.
Microsoft только что объявила, что это устаревающая система.Данные.OracleClient.
Я думаю, что это оставляет вам несколько вариантов (по крайней мере).:
- ODP.NET (бесплатно, от Oracle)
- ДевАрт
- Перенаправление данных
У DevArt также есть реализация LINQ to Oracle, которая может быть вам интересна.