![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Версия Оракла - 10 Expres.
Пытаюсь подключиться из ODP.NET - выдает ошибку - ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения Причем из Oracle 10 Express Client при той же строке соединения соединяется нормально. Что делать ? куда смотреть? sqlnet.log выдает TNS:соединение отвергнуто. |
|||
|
||||
ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
Wanderer2019 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
lsnrctl status -
listener.ora
tnsnames.ora
платформа - XP SP3 Это сообщение отредактировал(а) Wanderer2019 - 27.7.2009, 11:10 |
||||||
|
|||||||
ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: 12 Всего: 26 |
Ок, а как ты конектишся из ODP.net? Строку подключения или какую-нить подобную инфу можешь привести?
Дело в том, что в tnsnames у тебя есть только NETCONNECTION и если ты из ODP коннектишься скажем к XEDB используя tns, то ничего у тебя разумеется не выйдет. К тому же у тебя listener.ora не соответствует тому что выводит lsnrctl status. Это явно не тот файл с которого listener запускали.
-------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
Wanderer2019 |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
вот строка соединения
Действительно. Почему то получается так, то NET Configuration Assist правит не серверную, а клиентскую tnsnames.ora. Я чего то явно не догоняю.
Кидает ошибку соединения. Но почему тогда Oracle Client соединяется с сервером нормаль? При той же самой строке соединения??? |
||||||||
|
|||||||||
Wanderer2019 |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Ситуация поменялась.
подправил серверный tnsnames.ora, добавил это
и там же добавил в listener.ora
на клиенте так же подправил tnsnames.ora. Он теперь выглядит так:
перезапустил сервисы. Теперь все валится по другой ошибке
|
||||||||
|
|||||||||
ToshaCh |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 ![]()
Сдаётся мне, раз это *.net, то значит ODBC. Если у тебя установлен oracle client, то где-то в меню пуск ты найдёшь занимательную прогу Microsoft ODBC Administrator (или как-то так), которая позволит разобраться в том куда коннектится клиент.
А что база у тебя называется NET.CONN. Ты уверен, просто мне кажется что таки XE? Чтобы убедится в этом тебе достаточно на сервере в cmd запустить sqlplus "/ as sysdba", а в полученном шелле запустить
После этого надо будет отредактировать 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 это не только способ отмывания денег, но и вполне себе преличная база данных. |
||||||
|
|||||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Это .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 |
|||
|
||||
ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: 12 Всего: 26 |
Да. ODP.net я никогда не видел.
Путь тебе тепрь известен. В listener.ora добавляешь запись с нужным SID'ом. Затем настраиваешь выбраный клиент. -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |