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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Oracle отвергает подключения 
:(
    Опции темы
Wanderer2019
Дата 24.7.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



Версия Оракла - 10 Expres. 

Пытаюсь подключиться из ODP.NET - выдает ошибку - 
ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения

Причем из Oracle 10 Express Client при той же строке соединения соединяется нормально. 
Что делать ? куда смотреть? 

sqlnet.log выдает TNS:соединение отвергнуто.
PM ICQ MSN   Вверх
ToshaCh
Дата 24.7.2009, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ай мама! Аз есмь привратник притязания законные отвергнувший, аспид эдакий.

Индусы с их промто переводом на русский просто рулят! 

Для начала какая платформа? Попробуй из командной строки набрать lsnrctl status.

Кроме того listener.ora, tnsnames.ora в студию.

Это сообщение отредактировал(а) ToshaCh - 24.7.2009, 19:22


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



lsnrctl status - 
Код

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-JUL-2009 10:04:11

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
Start Date                24-JUL-2009 18:00:46
Uptime                    2 days 16 hr. 3 min. 24 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\listener.ora
Listener Log File         C:\oraclexe\app\oracle\product\10.2.0\server\network\log\listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=titan.domain.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=titan.domain.com)(PORT=8081))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "XE_XPT" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully



listener.ora
Код

# listener.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = titan)(PORT = 1521))
  )


tnsnames.ora
Код

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

NETCONNECTION =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Titan)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XEXDB)
    )
  )



платформа - XP SP3


Это сообщение отредактировал(а) Wanderer2019 - 27.7.2009, 11:10
PM ICQ MSN   Вверх
ToshaCh
Дата 27.7.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ок, а как ты конектишся из ODP.net? Строку подключения или какую-нить подобную инфу можешь привести?

Дело в том, что в tnsnames у тебя есть только NETCONNECTION и если ты из ODP коннектишься скажем к XEDB используя tns, то ничего у тебя разумеется не выйдет.

К тому же у тебя listener.ora не соответствует тому что выводит lsnrctl status. Это явно не тот файл с которого listener запускали.

Код

tnsping NETCONNECTION



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


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



Цитата(ToshaCh @  27.7.2009,  09:19 Найти цитируемый пост)
Ок, а как ты конектишся из ODP.net? Строку подключения или какую-нить подобную инфу можешь привести?

вот строка соединения 
Код

Data Source=TITAN;User Id=mUser;Password=mPass;



Цитата(ToshaCh @  27.7.2009,  09:19 Найти цитируемый пост)
К тому же у тебя listener.ora не соответствует тому что выводит lsnrctl status. Это явно не тот файл с которого listener запускали.

Действительно. Почему то получается так, то NET Configuration Assist правит не серверную, а клиентскую tnsnames.ora. Я чего то явно не догоняю.

Код

tnsping NETCONNECTION


Кидает ошибку соединения. 

Но почему тогда Oracle Client соединяется с сервером нормаль? При той же самой строке соединения???
PM ICQ MSN   Вверх
Wanderer2019
Дата 27.7.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



Ситуация поменялась.

подправил серверный tnsnames.ora, добавил это
Код

NET.CONN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = titan.elixir.cz)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = NET.CONN)
    )
  )


и там же добавил в listener.ora 
Код

    (SID_DESC =
      (SID_NAME = NET.CONN)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = NET)
    )



на клиенте так же подправил tnsnames.ora. Он теперь выглядит так:
Код

NET.CONN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = titan.elixir.cz)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = NET.CONN)
    )
  )


перезапустил сервисы. 

Теперь все валится по другой ошибке
Код

ORA-12518: TNS: процесс прослушивания не может отсоединить клиента


PM ICQ MSN   Вверх
ToshaCh
Дата 28.7.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Значит так. Давай разбираться в терминологии. 

Итак на сервере есть listener. Это программка, которая слушает определённый порт (порты) на некоем протоколе (ТСP,IPX и т.д.), как только кто-нить стучится, происходит разговор в стиле "а ты кто ваще? и тебе куда надо?" и если листенер знает это "куда надо", то происходит поднятие нужного подключения и передача клиенту информации куда теперь ему коннектится. Важно, что листенер не осуществляет никакого взаимодействия между клиентом и сервером, его задача соединить эти два существа, а потом самоустранится из дальнейшей дискусии.

Файл конфигурации листенера это listener.ora. 

tnsnames.ora, это файл конфигурации клиента и его наличие на сервере опционально (просто там тоже клиент установлен). Таким образом если коннект происходит через oracle client, то наличие этого файла на клиентской машине необходимо. Если же ПО коннектится скажем через ODBC или тонкий клиент, то tnsnames.ora не нужен, как и сам client, собственно.

Чтобы приконнктится к инстансу мы должны знать его сервер, порт, SID. При коннекте через oracle client необходимо только некое имя, которое по средствам tnsnames.ora сопоставляется тем самым сервер/порт/SID. При ODBC аналогично, только сопоставление происходит при помощи сторонней тулзы. При наличии тонкого клиента придётся указывать все три параметра, но запарка в том, что часто этот самый ODBC коннектится через установленный oracle client  smile 

Цитата(Wanderer2019 @  27.7.2009,  11:31 Найти цитируемый пост)
вот строка соединения Без подсветки1:Data Source=TITAN;User Id=mUser;Password=mPass;


Сдаётся мне, раз это *.net, то значит ODBC. Если у тебя установлен oracle client, то где-то в меню пуск ты найдёшь занимательную прогу Microsoft ODBC Administrator (или как-то так), которая позволит разобраться в том куда коннектится клиент.

Цитата(Wanderer2019 @  27.7.2009,  11:59 Найти цитируемый пост)

(SID_DESC =
      (SID_NAME = NET.CONN)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = NET)
    )


А что база у тебя называется NET.CONN. Ты уверен, просто мне кажется что таки XE?
Чтобы убедится в этом тебе достаточно на сервере в cmd запустить sqlplus "/ as sysdba", а в полученном шелле запустить 
Код

select name from v$instance;


После этого надо будет отредактировать listener.ora и tnsnames.ora, так чтобы в поле SID было именно это имя.



Это сообщение отредактировал(а) ToshaCh - 28.7.2009, 18:51


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



Цитата(ToshaCh @  28.7.2009,  14:30 Найти цитируемый пост)
Сдаётся мне, раз это *.net, то значит ODBC. Если у тебя установлен oracle client, то где-то в меню пуск ты найдёшь занимательную прогу Microsoft ODBC Administrator (или как-то так), которая позволит разобраться в том куда коннектится клиент.


Это .NET, но соединялся изначально через ODP.NET - приблуда Oracle (у нее свои tnsnames.ora и остальные конфигурационные файлы). Так и не смог запустить это чудо идусского IT. 

В результате, поставил Oracle Client - нацелил его на XE  базу. Коннект прошел. 
В качестве альтернативы ODP.NET, MS предлагает свой - родной OracleClient (который работает через Oracle Client). Все слава богу заработало.

Проблема как оказалось изначально была в том, что установщик Oracle Client не добавил системную переменную TNS_ADMIN, которая должны указывать на папку с tnsnames.ora (клиент).

Осталось  единственное неудобство - удалось подключиться только к уже существующей базе XE. А хотелось бы подключаться ко вновь созданной.

Это сообщение отредактировал(а) Wanderer2019 - 28.7.2009, 16:53
PM ICQ MSN   Вверх
ToshaCh
Дата 28.7.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да. ODP.net я никогда не видел. 

Цитата(Wanderer2019 @  28.7.2009,  16:46 Найти цитируемый пост)
Осталось  единственное неудобство - удалось подключиться только к уже существующей базе XE. А хотелось бы подключаться ко вновь созданной.


Путь тебе тепрь известен. В listener.ora добавляешь запись с нужным SID'ом. Затем настраиваешь выбраный клиент. 


--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

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

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

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

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

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


 




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


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

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