2015-03-25 2 views
1

В чем разница между установкой полного Oracle Client и установкой Oracle Odac? Что мне нужно для разработки .NET на моей рабочей станции dev, и что мне нужно на сервере веб-приложений, который будет подключаться к базе данных Oracle на другом сервере?Разница между Oracle Client и ODAC

ответ

2

ODAC включает поставщика данных Oracle для .NET, Oracle Developer Tools для Visual Studio (ODT), поставщиков Oracle для ASP.NET, .NET хранится процедуры поддержки, а также программное обеспечение дополнительные доступа к данным Oracle для Окна.

-Oracle's site.

Полный клиент Oracle включает в себя множество дополнительных программ, например SQLPlus, SQL Developer и т.д.

В любом случае, это в основном не имеет значения. Стандартный способ получения драйверов баз данных в .NET - это использование NuGet, а у Oracle есть official managed driver без внешних зависимостей, это самый простой способ начать работу. Вы добавляете этот пакет через NuGet к вашему приложению, и необходимые DLL будут включены в ваше приложение при его публикации без необходимости специальной настройки сервера.

+0

Мы преобразовательные наши сервера от победы 2003 года, чтобы выиграть 2012 и поэтому может указать, что мы хотим для установки сервера Oracle. В нашем случае у нас есть много веб-сайтов, созданных в виде приложений x86 и версии 2.111.7.20 драйверов Oracle.DataAccess. У приложений нет локальных копий DLL. Мы планируем полную установку клиента на серверах веб-приложений dev и qa - будет ли последняя версия полного клиента обратно совместима со старыми драйверами 2.111.7.20? Какая версия рекомендуется для производственной среды, где нам не нужен sqlplus? –

+0

@VinceMiccio Как я уже сказал, вы должны отказаться от всего этого и использовать официальный управляемый драйвер. Тогда нет проблем x86 и x64, потому что это весь код .NET. – mason

+0

К сожалению, это не вариант внесения изменений на 60 или около того сайтов, которые мы должны перенести, но мы будем использовать новый управляемый драйвер для наших новых сайтов. Поэтому остается вопрос, что установить на сервере, который будет работать как с новым управляемым драйвером, так и с драйвером 2.111.7.20? –

5

Это довольно запутанно, и запись этого снова помогла мне.

Мое резюме:

  • Оракул Instant Client предоставляет только прямые (Oracle Call Interface) API-интерфейсы OCI, поэтому только относящиеся к Oracle-зависимые приложения (см, например, http://www.oracle.com/technetwork/topics/winx64soft-089540.html)
  • ODAC включает Мгновенный клиент, а также множество связанных с Microsoft интерфейсов API (поставщики .NET, поставщик членства ASP.Net, драйвер OLEDB, драйвер ODBC, координатор транзакций МТС), которые охватывают то, что вам нужно в большинстве сценариев приложений Windows , например http://www.oracle.com/technetwork/topics/dotnet/downloads/install112021-200037.html. ODAC поставляется в двух вариантах: версия «xcopy» и версия OUI (Oracle Universal Installer) (и только версия OUI включает SQL * Plus [# 1])
  • ODT (инструменты разработчика Oracle для .Net) обеспечивает интеграцию Visual Studio, и, как правило, в комплекте с ODAC (вы получите загрузку под названием ODTwithODACxxxx.zip), например http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
  • NuGet пакет Oracle.DataAccess версия драйвера в ODAC .net, так требует установить существующий Instant Client (т.е. использует OCI). Смутно, в какой-то момент это было обозначено управляемым драйвером (потому что это, просто имеет некоторые значимые неконтролируемые локальные зависимости).
  • NuGet пакет Oracle.ManagedDataAccess является полностью управляемым водителем .net, который работает в режиме «прямой», и не требует никакого местного клиент мгновенного

Так что для большинства людей .net «Клиент Oracle» означает OUI установлены ODAC Instant Client + .Net, возможно, также ODT.

Для нуджетов стоит отметить, что даже сейчас (январь 2017 г.) драйвер Oracle.ManagedDataAccess по-прежнему не может выполнять кучу материала [# 2], поэтому Oracle.DataAccess + InstantClient не является полностью устаревшим вариантом , Если вы просто читаете и пишете с помощью SELECT/INSERT или vanilla ADO.Net, все будет в порядке. Мне говорят, что поддержка EF намного лучше, чем раньше. Драйверы dotConnect от DevArt - это еще один (очень хороший) вариант.

Существует также пакет nuget для мгновенного клиента Oracle, но я не знаю, для чего это. Предположительно Win32/.Net родные OCI-приложения, которые хотят установить мгновенный клиент с нулевой установкой через nuget. Оба из них.

[# 1] SQL * Plus предположительно будет мало использоваться во время выполнения, хотя на странице загрузки Instant Client есть separate installer, если вы хотите добавить его в существующую установку ODAC.

[# 2], например: вызов оракул хранимых процедур с табличными значениями пользовательских типами

+0

Вместо NuGet Вы можете загрузить драйверы ODP.NET ('Oracle.ManagedDataAccess' и' Oracle.DataAccess') также с страницы Oracle: [64-разрядные файлы данных Oracle Data Access Components (ODAC)] (http://www.oracle .com/technetwork/базы данных/окно/загрузки/индекс-090165.html) –

Смежные вопросы