Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Не получается создать объект PDO для соединения с Oracle (https://javascript.ru/forum/server/63140-ne-poluchaetsya-sozdat-obekt-pdo-dlya-soedineniya-s-oracle.html)

annie88 20.05.2016 09:59

Не получается создать объект PDO для соединения с Oracle
 
Доброго времени суток!
Я пытаюсь осуществить соединение с БД Oracle через PHP. Когда я пробую соединиться через $dbh = new PDO($dsn, $user, $password) , то выводится ошибка:
pdo_oci_handle_factory: ORA-12154: TNS:could not resolve the connect identifier specified (ext\pdo_oci\oci_driver.c:631)'

Однако, когда я соединяюсь через функцию oci_connect($user, $password, $shem) , соединение срабатывает. Помогите, пожалуйста, разобраться из-за чего это может происходить?
P.S. на машине стоит Apache2.2 и php 5.4.0

yazonnile 20.05.2016 11:57

гуглили?
http://stackoverflow.com/questions/1...-instance-name

annie88 20.05.2016 12:16

можно такой вопрос? В файле tnsnames.ora находится вот такая строка:
ORA9 = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = 
        (PROTOCOL = TCP)
        (HOST = 192.168.13.22)
        (PORT = 1521)
      )
    )
    (CONNECT_DATA = 
     (SERVICE_NAME = ora11)
    )
  )

в переменную $dsn, я забиваю вот такую строчку: $dsn='oci:dbname=ORA11;host=192.168.13.22' или $dsn='oci:dbname=//192.168.13.22:1521/ORA11'
Это верно?

laimas 20.05.2016 13:47

$options = array(
'dsn'=> 'oci:dbname=(DESCRIPTION=(ADDRESS=(HOST=localhost) (PROTOCOL=tcp)(PORT=1525))(CONNECT_DATA=(SID=YOURS ID)))',
...);

annie88 20.05.2016 14:08

Цитата:

Сообщение от laimas (Сообщение 417110)
$options = array(
'dsn'=> 'oci:dbname=(DESCRIPTION=(ADDRESS=(HOST=localhost) (PROTOCOL=tcp)(PORT=1525))(CONNECT_DATA=(SID=YOURS ID)))',
...);

пробовала... не сработало...
Решила пока что переписать функции, обращаясь к БД через oci_new_connect():-?

laimas 20.05.2016 14:17

Я так полагаю речь идет о локальном сервере под Widows?

annie88 20.05.2016 14:26

Цитата:

Сообщение от laimas (Сообщение 417116)
Я так полагаю речь идет о локальном сервере под Widows?

да, это важно?

laimas 20.05.2016 15:33

Важно, на мелкософте описана эта проблема.


Часовой пояс GMT +3, время: 09:15.