2016-02-07 5 views
0

Я новичок в oracle. Я использую Windows 10 64 бит, Oracle XE 11g, visual studio 2010 и vb.net. Но почему я получаю сообщение об ошибке: Ошибка Oracle: ORA-12154: TNS: не удалось определить указанный идентификатор подключения

enter image description here

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

Это код у слушателя:

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) 
     (PROGRAM = extproc) 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-4R5A2SG)(PORT = 1521)) 
    ) 
) 

DEFAULT_SERVICE_LISTENER = (SUIDO) 

И это tnsname.ora код:

SUIDO = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-4R5A2SG)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = SUIDO) 
    ) 
) 

EXTPROC_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
     (SID = PLSExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

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

+0

Как вы подключаетесь **, дистанционно или локально **? Вам не нужно, чтобы слушатель подключался локально. Какой клиент вы используете? Можете ли вы подключить локально '/ AS SYSDBA', используя переменные среды ORACLE_HOME и ORACLE_SID? –

+0

Я подключаюсь как локально. Когда я пытался подключиться, например, «SQLPLUS/AS SYSDBA», он спрашивает у меня имя пользователя и пароль. И я ставлю Систему как имя пользователя и nepal123 в качестве пароля, который я устанавливаю при установке oracle. И я также пытался подключиться, как SQLPLUS IBR/IBR @ SUIDO, это мое имя пользователя и пароль. но он говорит: «ORA-12514: TNS: слушатель в настоящее время не знает о запрошенной службе в подключении». – ZearaeZ

+0

вы на самом деле сообщаете о трех разных проблемах, основанных на 3 разных подходах к подключению. Ваши исходные сообщения для отправки ora-12154, но теперь вы упоминаете ora-12514. Вы также говорите, что при подключении «/ as sysdba» запрашивается пароль. Обычно этого не может быть, поскольку в этом синтаксисе используется аутентификация os, поэтому я подозреваю, что у вас установлен TWO-TASK. Я буду рассматривать каждый как отдельный предложенный ответ. – EdStevens

ответ

0

Сначала вы сообщаете ora-12154 - tns не может устранить идентификатор соединения службы. Эта ошибка означает, что все, что вы указали в качестве цели вашего соединения, не было найдено в вашем tnsnames.ora. Скажем, вы указали 'sqlplus scott/tiger @ fubar'. Тогда ссылка на «fubar» не была найдена в ваших tnsnames. Конец истории. И это означает, что запрос никогда не покидал клиентский процесс и нигде не приближался к слушателю, поэтому ничего о слушателе не имеет. У меня есть более подробное объяснение и демонстрации на http://edstevensdba.com/oracle-tns/ora-12154tns-03505/

0

Во-вторых, вы сообщаете «SQLPLUS IBR/IBR @ SUIDO» возвращает «ORA-12514: TNS: слушатель не в настоящее время известно о запрашиваемой услуги в Connect» « Это. отчетливо отличающаяся проблема с явно отличающимся ответом. Я вижу из вашего файла tnsnames «suido» разрешается служебное имя «SUIDO», запущенное на сервере «DESKTOP-4R5A2SG», где ожидается, что есть прослушиватель, использующий порт 1521, и что упомянутый listner знает об услуге «SUIDO». Ошибка «ORA-12514» окончательно означает, что слушатель не знает такой службы. Вы можете это доказать, выполнив «статус lsnrctl» и наблюдая за услугами, которые слушатель знает. Я бы сказал он почти на 100% уверен, что слушатель не знает о службе, потому что база данных не запущена. Если база данных была запущена, она должна была зарегистрироваться у слушателя.

Более подробная информация об этой ошибке, here.

 Смежные вопросы

  • Нет связанных вопросов^_^