php(oci8)+oracle 10 = проблема связи

-=SG=-

Новичок
php(oci8)+oracle 10 = проблема связи

День добрый уважаемые, пытаюсь сделать связку Joomla + Oracle

-скачал сборку вебсервака - Zend server, там уже встроеный и настроеный оси8 (проверил, в phpinfo блок oci8 есть)
-утсановил оракл клиент 10, настроил тнснеймс
-на нашем сервере оракла сделали мне схему
-установил Joomla на макскул
-установил конвертер для преобразования баз данных (http://www.spectralcore.com/fullconvert/)
-конвертнул бд Joomla из макскула в формат оракла в мою схему (отличная прога, полный автомат, но зараза платная)
-установил pl/sql developer, залогинился под новой схемой, вижу свои джумла таблицы в оракле

попробовал простенький тест связи
PHP:
error_reporting (E_ALL);
$tnsName     = '//ххх.ххх.ххх.ххх/WEBDEV';  //адрес бд оракл-сервака/имя сервиса (настройки связи из тнснеймс) 
$username     = 'test01';
$password     = 'test01';
$conn = oci_connect($username, $password, $tnsName);
if (!$conn) {
      $e = oci_error();   // For oci_connect errors pass no handle
      echo '<b><font color="red">FAILED</font></b> : ' . htmlentities($e[
        'message']);
} else {
    echo '<b><font color="green">OK!</font></b>';
    oci_close($conn);
}
- не работает :( ..выдает "FAILED :" и все, (но
и ошибок оси8 нет) что только не перепробовал, результат один -
пусто. потом попробовал вывести переменную $ORACLE_HOME; она оказалась
пуста, хотя как я понмаю это системная переменная и указывает на путь
к тнснеймс. Одна догадка - оси8 не видит установленный оракл (логины
пароли верные, повторюсь, pl/sql developer и бд конвертер соединяются
нормально)... сижу в просрации ...

ЗЫ содержимое тнснеймс:
PHP:
WEBDEV =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ххх.ххх.ххх.ххх)(PORT = 1521))
    )
    (CONNECT_DATA =
      (ORACLE_SID=main)
    )
  )
 

-=SG=-

Новичок
взял другой комп, все опять установил, запустил, вроде помогло (возможно из за того что на старой машине было 2 оракла)
но теперь из php выдает ошибку

ORA-12154: TNS:could not resolve the connect identifier specified

нагуглив по "ORA-12154" советуют проверить кол-во файлов тнснеймс (у меня 1) и правильность синтаксиса (но pl/sql developer по прежнему соединяется номально) .. кто что думает?

-~{}~ 07.09.10 15:55:

так, пошли дальше, разобрались, надо было
$tnsName='//xxx.xxx.xxx.xxx/main' т.е. как объяснили пхп(оси8) вообще незнает про файл тнснеймс, поэтому указываем айпи сервака и СИД

теперь выдает
ORA-12737: Instant Client Light: unsupported server character set CL8MSWIN1251

???

-~{}~ 07.09.10 16:02:

зы, указание кодировки четвертым параметром в осиконекте не помогает ('AL32UTF8')

-~{}~ 07.09.10 16:14:

хотя при такой строке
$conn = oci_connect($username, $password, $tnsName, 'WE8ISO8859P15');
выдает
ORA-24404: connection pool does not exist
 

-=SG=-

Новичок
???

-~{}~ 09.09.10 12:32:

все спасибо всем, все заработало (оказалось админ, когда создавал бд для меня не указал явно кодировку... или что-то в этом роде)
 

iceman

говнокодер
tns распознается,
PHP:
<?php
$saved = getenv('ORACLE_HOME');
putenv('ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server');

... ///script

putenv("ORACLE_HOME={$saved}");
?>
типа такого...
 
Сверху