Подключение к Ораклу

tabivan

Новичок
У меня Oracle машине 192,168,1,10, а PHP и апач на 192,168,1,11
Помогите создать строку для подключения - OCILogon("scott", "tiger", "orcl")
 

baev

‹°°¬•
Команда форума
Тема закрыта

Правилами форума запрещается создание тем с малосодержательным названием:
Запрещается:
……
……
3. Создание новых тем, имеющих малосодержательное название. Например, "Помогите!!...", "Есть вопрос", "почему-то не работает". Такие темы удаляются без предупреждений;
……
 

Фанат

oncle terrible
Команда форума
Сам я с Ораклом не работал, но если бы у меня возник такой вопрос, то сначала набрал бы в гугле название этой функции, зашел в мануал и посмотрел примеры.
Там обычно всё просто и понятно.
 

michelle

Новичок
У меня Oracle машине 192,168,1,10, а PHP и апач на 192,168,1,11
Помогите создать строку для подключения - OCILogon("scott", "tiger", "orcl")
А что хочешь - ты уже создал подключение.

Вот только .... ты слышал про такое как tnsnames.ora?
Или можешь вместо orcl прописать специально построенную сточку с ip оракла и коннектом к базе (все остальное google, google, yandex до просветления)
 
Первое впечатление от оракла - это то, что у них всё никак у людей :) Видимо на это влияет закрытость их продуктов. А возможно мы все просто плотно подсели на MySQL :) Но это так, лирика.
По делу. Для начала я бы посоветовал подключиться к БД из какого нибудь стандартного клиента, который можно скачать на понятно каком сайте. Выбор там не большой. Я, например, юзаю Oracle SQL Developer. Естественно, после установки работать ничего толком не будет - клиент не конектится куда вам надо. Дело в том, что в домашнюю папку или ещё куда либо (описано в документации) нужно положить файлик с названием tnsnames.ora, в котором описаны адреса баз данных. Только после того, как вы его создадите и заполните правильными данными може пытаться приконектится из клиента. У меня этот файл выглядит так:
PHP:
zeleniy@zeleniy-HP-Pro-3400:~/workspace/mass/peaks$ cat /etc/tnsnames.ora
biodb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = biodb)
    )
  )
Если приконектились - пол дела сделано. Теперь пишем простенький скрипт и проверяем как это работает через PHP:
PHP:
$connectionString = <<<TNS
(DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVICE_NAME = biodb)
    )
)
TNS;

$connectionDescriptor = oci_connect('username', 'password', $connectionString);

// ну и просто пример запроса:
$query = oci_parse(
    $connectionDescriptor, 'SELECT 1 + 1 FROM DUAL'
);

oci_execute($query);
$row = oci_fetch_array($query);
var_dump($row);
 
Сверху