Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Через что лучше работать с БД Oracle 9i? / 6 сообщений из 6, страница 1 из 1
16.08.2005, 09:24:39
    #33216800
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
Добрый день всем!

Только начал использовать в качестве БД Oracle 9i. Разрабатываю проги на VB 6.0 и сразу встал вопрос какой механизм использовать для доступа к БД.
Какие методы доступа предпочтительней?
Установил себе Oracle 9i Enterprice Edition и вместе с ним я гляжу встали несколько компонентов и элементов управления, в частности -
OraOLEDB 1.0 Type Library, ну с этим ясно обычный провайдер как я понимаю, то есть стандартный ADO (или я не прав?). Визуальные элементы управления оракловые при попытке добавить их в проект все требуют лицензию, нельзя ли как то решить этот вопрос :) или лучше их и не использовать? А может есть какой-то еще компонент самый лучший, который не входит в поставку самого Оракла, подскажите пожалуйста?

P.S.
Да кстати в настоящее время вся бизнес-логика моей проги будет в самой проге (на клиенте т.е.), никаких хранимых процедур не предвидится пока.
Скорей всего эти темы обсуждались уже, но поиск что-ли не работает сейчас на форуме, ничего вообще не ищет. А нужно срочно позарез.

И еще, задал этот же вопрос на форуме Oracle этого же сайта, так получил 2 совета:
1) Поискать вопрос на этот ответ в поисковиках рамеблерах, гуглах, муглах и т.п. Ничего там я не нашел конкретного.
2) Не писать приложения в связке VB + Oracle, мол VB для этого не дорос.

Неужели никто не разрабатывает такие приложения (ODBC не подходит).
...
Рейтинг: 0 / 0
16.08.2005, 11:13:26
    #33217248
infant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
Kroket
Только начал использовать в качестве БД Oracle 9i. Разрабатываю проги на VB 6.0 и сразу встал вопрос какой механизм использовать для доступа к БД.
Какие методы доступа предпочтительней?
Установил себе Oracle 9i Enterprice Edition и вместе с ним я гляжу встали несколько компонентов и элементов управления, в частности -
OraOLEDB 1.0 Type Library, ну с этим ясно обычный провайдер как я понимаю, то есть стандартный ADO (или я не прав?).


Вы можете (ODBC не рассматриваем) еще использовать Microsoft OLEDB Provider.
C ним и под 8i и под 9i у меня проблем никаких не было кроме - он не поддерживат BLOB, CLOB, BFILE.
OraOLEDB - c ним возникали проблемы: например при использовании стандартных эл-тов Microsoft DataList (OLEDB) и некотрыми другими.
Поэтому я использовал Microsoft OLEDB Provider, а в том случае если мне требовались данные LOB (это редко очень) то создавал на это время второй коннект c OraOLEDB. Может не лучший вариант использовать 2 коннекта, даже на короткое время, для одного сеанса пользователя, но зато проблем- минимум.

Kroket
Визуальные элементы управления оракловые при попытке добавить их в проект все требуют лицензию, нельзя ли как то решить этот вопрос :) или лучше их и не использовать? А может есть какой-то еще компонент самый лучший, который не входит в поставку самого Оракла, подскажите пожалуйста?


В основном использую ComponentOne (True DBGrid Pro 8.0 (OLEDB) (раньше 6.0) и т.д.) - возможностей очччччень много и проблем особых не было.

Kroket
P.S.
Да кстати в настоящее время вся бизнес-логика моей проги будет в самой проге (на клиенте т.е.), никаких хранимых процедур не предвидится пока.


Процедуры можете при желании использовать без проблем. Можете возвращать из них рекордсет (я через REF CURSOR) - тоже никаких проблем. Я для вызова процедур использую ADODB.Command
...
Рейтинг: 0 / 0
18.08.2005, 13:20:43
    #33223004
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
Большое спасибо за ответ.

И еще не приведете пример как на ADO подключится к БД которая находится на UNIX сервере. Что-то я не догоняю пока, как в соединении прописать информацию: имя сервера (UNIX), имя БД, и конкретную схему (так как в одной физической БД реализовано много разных задач, разбитых на схемы)
...
Рейтинг: 0 / 0
18.08.2005, 13:33:29
    #33223043
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
Нормально работает.
Есть некоторые тонкости.
Например, блокирование записей рекордсетом способом SELECT FOR UPDATE NOWAIT не снимает блокировки до закрытия самого коннекшена (закрытие рекордсета не поможет). Лучше использовать BeginTransaction.
Или: в случае временного разрыва соединения аппаратно (провод выдернуть) придется уничтожать коннекшн (а не закрывать) и создавать заново (кстати об объявлениях As New).
Вообще у людей устаревшие представления о VB. ADO существенно мощнее дельфийского BDE, а все уверены в обратном.
А тот пример с PL/SQL (с форума Oracle) - не есть честное сравнение. PL/SQL оптимизирует свой код и таким способом, что некоторые конструкции будут целиком отправлены на сервер чтобы там выполнится. И тут ничего не поделаешь, Oracle такие же монополисты как и MS.
ps
Как подключиться к юниксу не знаю, а схему надо указывать в SQL предложении (SELECT FROM СХЕМА.ТАБЛИЦА).
...
Рейтинг: 0 / 0
18.08.2005, 16:02:49
    #33223493
infant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
Все равно на чем oracle стоит - *NIX или Win. У вас к нему клиент оракловый коннектится - а вы уже работает через клиента, поэтому синтаксис одинаковый:
Для клиента Microsoft:
strConn = "Provider=MSDAORA.1" & _
";User ID=" & UserName & _
";Password=" & Password & _
";Data Source=" & YourSID & _
";Persist Security Info=true"
Для ораклового:
strConn = "Provider=OraOLEDB.Oracle.1" & _
";User ID=" & UserName & _
";Password=" & Password & _
";Data Source=" & YourSID & _
";Persist Security Info=true"

ну и стандартно дальше:

Set g_conn = New ADODB.Connection
With g_conn
.CursorLocation = adUseClient
.Open strConn
End With
...
Рейтинг: 0 / 0
07.09.2005, 15:07:01
    #33256638
Госщть
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Через что лучше работать с БД Oracle 9i?
авторВ основном использую ComponentOne (True DBGrid Pro 8.0
А не смущает постоянно выскакивающее сообщение о 30 дневном "триальном" сроке иль Вы ее купили?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Через что лучше работать с БД Oracle 9i? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]