Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Oracle ODBC / OCI


Автор: SerjogaVS 27.4.2007, 13:19
У меня такая проблема, соединяюсь через оригинальный Oracle ОDBC Driver к БД (10g) as sysdba. Всё идёт нормально, но если перехожу на 9i, уже sysdba не идёт. Кто нибудь знает в чём проблема?
Использую C++ VS6

Вот Connect string, который на 10g работает:

Код

CString strConnect = _T("ODBC;Driver={" + _strOdbcDriver + "};"
        "Uid=sys;Pwd=" + _strPwd + " as sysdba;DBQ=" + _strSid);

Я думал перейти с ODBC на oci, но что то там сложновато было, да и мало примеров нашёл как эту библиотеку использовать. Может у вас есть какие рабочие примеры?

Автор: LSD 27.4.2007, 23:02
Цитата(SerjogaVS @  27.4.2007,  14:19 Найти цитируемый пост)
Кто нибудь знает в чём проблема?

Модератор: Телепаты здесь не живут! Что за ошбика?

Автор: SerjogaVS 30.4.2007, 16:02
Ошибка в том, что не могу зайти как sysdba, пишет, что пароль или юзер не правельный.
Вроде как я понял, соединение как sysdba идёт только с ODBC Driver 10, ниже нет.
Придётся переходить на oci.lib

Автор: Sqlninja 1.5.2007, 10:54
Какая версия Oracle-клиента используется?

На самом деле для соединения с базой ODBC вообще не стоит использовать в версиях Oracle позже 7. OCI отлично задокументирован, в отличие от ODBC. Про соединение с базой через OCI смотреть http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96583/cci02rel.htm#1002730

Второй вариант - использовать Oracle Objects For OLE (OO4O). Для этого нужно будет в проекте VS сделать референс на COM - сервер по работе с базой (OracleInProcServer), который берется из библиотек Oracle клиента. Обзор читать http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg01dev.htm#429762

Автор: SerjogaVS 7.5.2007, 16:56
Спасибо всем, я уже переставил на OCI. Всё стабильно работает smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)