Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Доступ к БД Oracle из VB Добавлено: 10.07.03 18:38  

Автор вопроса:  Comanche

В одной моей VB-программе в листбокс выводится список всех tablespaces, существующих в пределах определённой Oracle Service. Для этого я выполняю следующий код (предполагает раннее связывание с MS ADO):

Dim myConn As ADODB.Connection

Set myConn = New ADODB.Connection

' OLE DB Provider for Oracle (from Oracle):

stConn = "Provider=OraOLEDB.Oracle;Data Source=" + HostName + _

         ";User Id=" + Login + ";Password=" + Pwd + ";"

myConn.Open stConn

 

или

 

stConn = "Provider=msdaora;Data Source=" + HostName + ";" + _

         "User Id=" + Login + ";Password=" + Pwd + ";"

 

- если "OLE DB Provider for Oracle (from Microsoft)",

 

... и так далее (код с Recordset-ом, SQL-строкой и проч. опускаю).

Всё работает прекрасно, никаких вопросов или сложностей нет.

 

Однако, когда знакомый, пишущий на Visual C, узнал, что для рабоспособности моей программы мне приходится распространять с ней MDAC (наверное, можно и только MS ADO, - но неважно), он поднял меня на смех.

 

По его словам, активно работая с оракловыми базами из своих VC-программ, он "напрямую работает с библиотеками виндового клиента Oracle", и никакие MS ADO или MDAC в глаза не видел. Выяснить, как это технически у него реализовано, мне не удалось.

 

Вопрос: он "гонит" или это я чего-то "не догоняю"?!

 

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 DimaS



Вопросов: 2
Ответов: 85
 Профиль | | #1 Добавлено: 11.07.03 07:36

Я понимаю так, что установка Windows клиента Оракл на машину, где будет исполняться программа, кроме всего прочего устанавливает свой собственный ODBC или OLE DB драйвер. Твой друг скорее всего не использует технологию ADO для доступа к данным  (а если и использует, то ему просто везло, что у клиентов на машинах уже стояла эта бибилиотека), соответственно он не нуждается в MDAC (MDAC по своей сути устанавливает на машину Microsoft'овские OLE DB и ODBC драйвера, а так же бибилиотеку ADO). Таким образом из всей установки  MDAC, тебе нужно только ADO.

Ответить

Номер ответа: 2
Автор ответа:
 Comanche



Вопросов: 87
Ответов: 459
 Профиль | | #2 Добавлено: 11.07.03 10:00

Совершенно верно, оракловый клиент ставит и ODBC, и OLEDB.

 

Если друг не использует ADO, работает на Си, и при этом как-то "запросто" (с его слов) подключается к оракловым источникам данных, то как он это делает?!

 

Какие есть ещё технологии (не MS)? Я так понял, что он из кода Си-программы просто обращается к нужным DLL-кам от Oracle, и использует какие-то входящие в их состав функции.

 

И ещё: таскать с дистрибутивом не весь MDAC, а лишь файлы MS ADO - это здорово; по-моему, в MS KnowledgeBase есть статья на эту тему. Но всё-таки это увесистый кусок получается. А что если таскать с собой DAO? Да, объективно говоря, DAO - это старьё, но для моих скромных целей (один коннект с одной выборкой за всю программу) - этого хватит за глаза. Поэтому ещё один вопрос: может, файлы DAO - менее увесистый "кусок" (по сравнению с ADO)? или ещё чем-то более скромным можно отделаться?

 

Просто последние года три я "не вылезаю" из ADO, и про всё остальное порядком подзабыл уже...

 

Ответить

Номер ответа: 3
Автор ответа:
 Alliancce



Вопросов: 4
Ответов: 10
 Профиль | | #3 Добавлено: 17.07.03 10:34

для работы с Ораклем (да и со многими СУБД), достаточно одной dll (по моему называется oraoci.dll, точно не помню название, давно было) и TCP/IP, при наличии соответствующих хедеров и либов разработка на VC++ происходит на ура, и переносимость простая (просто копированием), единственное что мне не нравится (но это субьективная точка зрения), удобство работы с АДО на порядок больше чем с голым апи, но всегда можно написать удобную обертку для него.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам