За последние 24 часа нас посетили 23145 программистов и 1675 роботов. Сейчас ищут 1894 программиста ...

Не могу соединиться с oracle

Тема в разделе "Oracle Database", создана пользователем Jban, 20 май 2007.

  1. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    Добрый день.

    Итак исходные данные. У меня установлено: Oracle 9.2, apache2 + php 5.1
    Не могу подсоединиться к своей базе. Пишу скрипт test.php вот такого содержания

    <?php
    if ($c=OCILogon("user1", "user1", "oradb")) {
    echo "Successfully connected to Oracle.\n";
    OCILogoff($c);
    } else {
    $err = OCIError();
    echo "Oracle Connect Error " . $err[text];
    }
    ?>

    открываю его как http://127.0.0.1/test.php и ничего не происходит. Просто пустая страница. Может кто подсказать в чем проблема?

    С уважением, Jban
     
  2. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    в первом случае впиши
    $flag = true;
    в else
    $flag = false;

    в последней строке - var_dump($flag);
     
  3. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    то есть вот так?
    <?php
    if ($c=OCILogon("user1", "user1", "oradb")) {
    $flag = true;
    echo "Successfully connected to Oracle.\n";
    OCILogoff($c);
    } else {
    $flag = false;
    $err = OCIError();
    echo "Oracle Connect Error " . $err[text];
    }
    var_dump($flag);
    ?>

    Результат тот же. Пустота.

    Для проверки пустил скрип
    echo "Hello world";
    phpinfo(); // Print PHP version and config info

    Все выдает и работает, так что проблема как мне вилится чисто в подключении к ораклу.
     
  4. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    error_log?
     
  5. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    эм....а где его взять?
     
  6. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
  7. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    Fatal error: Call to undefined function OCILogon() in E:\Program Files\Apache Group\Apache2\manual\test\test1.php on line 2
     
  8. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
  9. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    Все это у меня раскомментировано.
    Понял в чем проблема - не установлено клиентских библиотек. Смотрю FAQ http://php.net/manual/en/ref.oci8.html
    там написано что надо скачать и установить instantclient хорошо, я его скачиваю и распаковываю. Пишут что нужно указать путь к библиотекам. Куда его вписывать?
    Еще часто пишут что надо указывать переменные окружения:

    Замечание: если у Вас не установлены необходимые переменные окружения, поместите следующие строки в начале каждого скрипта, работающего с Oracle:

    <?php
    PutEnv("ORACLE_SID=ORCL");
    PutEnv("ORACLE_HOME=/app/oracle/product/9.2.0");
    PutEnv("TNS_ADMIN=/var/opt/oracle");

    В oracle_home и tns_admin - какой путь писать?
     
  10. Jban

    Jban Активный пользователь

    С нами с:
    20 май 2007
    Сообщения:
    8
    Симпатии:
    0
    Господа, а может быть кто нибудь при личной встрече мне на ноут поможет поставить сервак и приконнектить его к ораклу?? За соки\воды\пиво\деньги так сказать :)
     
  11. Дружинник

    Дружинник Активный пользователь

    С нами с:
    6 авг 2007
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Московская область
    Уважаемые профессионалы, доброго всем времени суток.
    У меня точно такая же проблема, что и у Jban'а.
    На одной машине (клиенской) под ХР установлен Apache+php. На ней же первоначально был установлен клиент Oracle 9.X. В последствии прочитав, что для функции oci_connect нужен 10 клиент снес 9 и установил 10.
    На другой машине с 2000 Server стоит Oracle 9.X.
    При выполнении phpinfo() страничка отображается, но там я нигде не нашел, чтобы упоминалось oci8.
    При исполнении скрипта, указанного в первом сообщении данной темы выдается пустой экран.
    Я ради интереса решил туда дописать 2 строки:
    echo "Hello";
    одну перед if...
    другую в самом конце.
    В результате печатается только первая строка, т.е. после попытки соединения вообще ничего не выполняется.
    instantclient я не устанавливал и где прописываются переменные окружения я не знаю, т.к. в интернете находил только как их прописывают в UNIX-системах.
    Если сможете помочь буду очень признателен.
    Заранее благодарен.
     
  12. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    включите сообщения об ошибках
    error_reporting (E_ALL);
    что видим?
     
  13. Anonymous

    Anonymous Guest