Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP. Подключение к удаленной базе Oracle. 
V
    Опции темы
underW
Дата 13.1.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 22.9.2008

Репутация: нет
Всего: 3



На удаленной машине стоит база Oracle. 

Успешно получается подключиться к базе с помощью Oracle Client.

Пробую подключиться с помощью PHP:

Код

$dbstr ="TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.* )(PORT = ****)))
    (CONNECT_DATA = (SID = ***))
  )";
$conn = oci_connect('name','pass',$dbstr); 


if($conn==FALSE) {echo "не удалось подключение...";}
else
{
echo "ok!";
}

if (!$conn) {
    $e = oci_error();
var_dump($e);}


Возвращаемый результат:

Код

не удалось подключение...bool(false) 


Как с таким бороться? Как исправить? На машине стоит WinXP. строка $dbstr - 100% правильная, логин, пароль, все правильно. 
PM MAIL   Вверх
ToshaCh
Дата 14.1.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 555
Регистрация: 10.11.2005
Где: Москва, РФ

Репутация: 12
Всего: 26



Вижу я неправильно смысл третего параметра понял ты.

Примеры тут найти ты можешь:
http://php.net/manual/en/function.oci-connect.php

З.Ы. Хотя в пых-пыхе я не шарю, но вид твоей переменной $dbstr зародил во мне смутные подозрения.


--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
Zloxa
Дата 14.1.2010, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(ToshaCh @  14.1.2010,  12:52 Найти цитируемый пост)
вид твоей переменной $dbstr

Кстате да!
Попробуй
Код

$dbstr ="(DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.* )(PORT = ****)))   (CONNECT_DATA = SID = ***))  )";


Это сообщение отредактировал(а) Zloxa - 14.1.2010, 13:21


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
ToshaCh
Дата 14.1.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 555
Регистрация: 10.11.2005
Где: Москва, РФ

Репутация: 12
Всего: 26



Чё-то либо я не врубаюсь, либо весь окружающий мир smile

Zloxa, там же по ссылке на которую я указал вот такой пример: 
Код
$c2 = oci_connect("hr", "welcome", 'localhost/XE');


Т.е. не надо лепить запись из tnsnames, а просто стандартную строку подключения как в тонком клиенте.

Добавлено через 14 минут и 33 секунды
А не, это я таки нефига не понимаю:

Там есть много вариантов, но самый простой тот который указал я. По сложнее тот который указал ТС.


--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
Zloxa
Дата 14.1.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



ToshaCh, я запросто могу ошибаться smile Я лишь предложил попробовать. Наверное то следовало обозначить явно.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
underW
Дата 14.1.2010, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 22.9.2008

Репутация: нет
Всего: 3



ну вот я раньше вообще не сталкивался с Oracle как таковой, ну а вот с PHP работал smile

так вот, оказалось, что скрипт абсолютно правильный. Очень сильно грешу на Zend Server. На сайте Oraclе во всю рекомендуют его использовать как веб сервер, типа он заточен под их базу и тд. и тп. ну вот я считаю это дешевым трюком, гады. Пока я его использовал - не работало, вообще не работало, стабильно не работало, что я  только не делал. Потом снес этот Zend Server, поставил ручками отдельно Apache, PHP - все в одно мгновение заработало smile

Ну, насколько я сейчас понял, без той длиннющей строки никак не обойтись, потому как база была не локальная, а удаленная.

Вывод: считаю Zend Server - че то там такое чудит, что не дает apache возможности отправить даже запрос на коннект к удаленной базе, лучше им не пользоваться. А в остальном все хорошо, вопрос решен, ребят огромное спасибо за участие. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0721 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.