Подключиться к базе данных Oracle из приложения VB 2008 без установки программного обеспечения Oracle? - PullRequest
3 голосов
/ 12 декабря 2008
Imports System.Data.OleDb

Public Class Log

    Private mConnectionString As String = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))(CONNECT_DATA=(SID=xxx)(SERVER=DEDICATED)));User Id=xxx;Password=xxx;"
    Dim ds As New DataSet
    Dim da As New OleDbDataAdapter
    Dim dr As DataRow
    Dim Connection As New OleDbConnection(mConnectionString)
    Dim Command As OleDbCommand
    goes on...

Это код, и он отлично работает на наших машинах разработки. У всех нас есть провайдеры Oracle, установленные на наших машинах. Теперь я попытался использовать этот код в приложении на другом компьютере, на котором не установлено программное обеспечение Oracle, и оно не работает.

Теперь я знаю, что могу установить провайдеров Oracle на эти другие машины, и это будет работать. Проблема в том, что A) их много и B) мне нужно пройти через наш отдел ИТ, и им потребуется шесть месяцев, чтобы это сделать Итак, мой вопрос, могу ли я подключиться к этой базе данных Oracle с компьютера без установленных провайдеров Oracle? Я думал, что у Microsoft есть собственный поставщик Oracle, но он не отображается в System.Data. Версия .NET 3.5, если это помогает. Есть идеи?

Ответы [ 4 ]

6 голосов
/ 13 декабря 2008

Мне очень повезло с Oracle Instant Client и ODP.NET , который в значительной степени является прямым развертыванием XCOPY (если вам не нужен ODBC).

IIRC, вам нужно изменить переменную среды PATH, но это относительно безболезненно - особенно по сравнению с обручами, которые Oracle использовал, чтобы заставить вас прыгать.

1 голос
/ 13 декабря 2008

Проблема на самом деле в том, что вы начали проект, не обсуждая потребности инфраструктуры с командой ИТ / DBA вашей компании. Это не техническая проблема, а проблема процесса.

То, что сказано здесь, является возможным решением (хотя я не использовал лично). http://devart.com/dotconnect/oracle/

0 голосов
/ 13 декабря 2008

Можно ли найти и включить DLL-библиотеки Oracle в ваше приложение вместо их установки?

0 голосов
/ 12 декабря 2008

Я почти уверен, что вам нужно установить поставщика Oracle, чтобы это работало. OleDb может легко подключаться к SQL Server и Access и т. Д., Но только потому, что эти поставщики предварительно установлены в Windows.

Я думаю, что ваш единственный вариант (кроме установки провайдера Oracle на каждом компьютере) - это создание "фронтальной" базы данных SQL Server, включающей проходные таблицы для каждой необходимой вам таблицы Oracle, а затем получение данных из SQL Server вместо Oracle.

На самом деле, другой вариант может заключаться в том, чтобы ваши клиентские приложения получали свои данные из промежуточного веб-сервиса вместо прямого подключения к базе данных, но это, вероятно, повлечет за собой серьезную переписывание.

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