Альтернативные драйверы Oracle для .net - PullRequest
7 голосов
/ 30 января 2009

Мне нужно разработать инструмент на C #, который извлекает некоторые данные из БД Oracle. Поскольку у нашей ИТ-службы возникают проблемы с установкой клиента Oracle, я хочу иметь возможность подключаться к базе данных без установленного клиента. Идея состоит в том, чтобы просто установить (и, возможно, зарегистрировать) дополнительную библиотеку вместе с приложением.

Какие существуют альтернативы клиенту Oracle и каковы их плюсы и минусы?

Это для небольшого приложения (1 форма, 2 или 3 запроса, результат отображается в DataGrid, вероятно, не более 10-20 наборов данных), но меня также интересуют проблемы масштабируемости, поскольку мы также можем переместить от клиента Oracle с большими будущими проектами.

Конечно, бесплатное решение было бы неплохо, но мы не ограничены этим.

Ответы [ 4 ]

9 голосов
/ 03 февраля 2009

Ваша задача может быть достигнута без использования стороннего программного обеспечения:

  1. Установите Компоненты доступа к данным Oracle 11g в вашей коробке разработки. ODAC 11g обратно совместим с 9i и 10g
  2. Добавьте ссылку на библиотеку ODAC в свои проекты .NET (Oracle.DataAccess.dll).
  3. Разрешите вашему приложению подключаться без использования TNSNAMES.ORA. Для этого необходимо включить дескриптор подключения в строку подключения:

    "идентификатор пользователя = Скотт; пароль = тигр; источник данных =" + "(ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = tcp)" + "(HOST = продажа-сервер) (PORT = 1521)) (CONNECT_DATA =" + "(SERVICE_NAME = sales.us.acme.com)))"

Поскольку вы включаете дескриптор подключения в строку подключения, тонкий клиент не требуется на целевых компьютерах.

Счастливого развертывания.

8 голосов
/ 30 января 2009

Существует несколько разновидностей драйвера Oracle ODP.Net . Какую версию вы пытаетесь использовать?

Похоже, вам нужен Oracle 11g ODAC 11.1.0.6.21 с Xcopy Deployment, который позволяет вам развертывать Oracle Instant Client и драйвер ODP.Net, просто скопировав несколько DLL-файлов и зарегистрировав их. Для этого не требуется полноценной установки клиента Oracle.

3 голосов
/ 26 февраля 2013

Oracle в настоящее время имеет полностью управляемую версию ODP.NET, позволяющую разработчикам подключаться к базам данных Oracle, ссылаясь только на одну DLL. Здесь больше информации здесь .

Текущие выпуски можно найти здесь .

0 голосов
/ 30 января 2009

Клиент корпоративной библиотеки System.Data.OracleClient является жизнеспособной альтернативой поставщику ODP.NET от Oracle. Однако вам следует знать о некоторых оговорках, поскольку использование клиента Microsoft чрезвычайно затруднит работу с любыми крупными объектами, будь то строки XML, CLOB, LOB или BLOB. Кроме того, столбец Oracle XmlType не поддерживается и должен быть преобразован в CLOB для возврата в OracleClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...