РТЫ Oracle 12154: TNS: разве сервис твердости не мог назвать Ошибку?

Да, это законно.

Сразу после описания пробельных символов вы найдете следующее: (выделение добавлено)

Символы-разделители (, ), < >, [, ], {, }, / и % являются специальными. Они разграничивают синтаксические объекты, такие как строки, массивы, имена и комментарии. Любой из этих символов завершает сущность, предшествующую ему , и не включается в сущность.

Так что вам не нужно пробелов перед /.

14
задан David Basarab 15 October 2008 в 19:26
поделиться

3 ответа

от http://ora-12154.ora-code.com

РТЫ 12154 : TNS:could не разрешают, что идентификатор подключения указал
Причина : соединение с базой данных или другое обслуживание требовали с помощью идентификатора подключения, и указанный идентификатор подключения не мог быть разрешен в дескриптор подключения с помощью одного из настроенных методов именования. Например, если бы тип используемого идентификатора подключения был именем сетевой службы затем, то имя сетевой службы не могло бы быть найдено в репозитории метода именования, или репозиторий не мог быть расположен или достигнут.
Действие :

  • , Если Вы используете локальное именование (файл TNSNAMES.ORA):

  • Удостоверяются, что "TNSNAMES" перечислен, поскольку одно из значений параметра ИМЕН DIRECTORY_PATH в профиле Сети Oracle (SQLNET.ORA)

  • Проверяет, что файл TNSNAMES.ORA существует и находится в надлежащем каталоге и доступен.

  • Проверка, что имя сетевой службы, используемое в качестве идентификатора подключения, существует в файле TNSNAMES.ORA.

  • Удостоверяются, что нет никаких синтаксических ошибок нигде в файле TNSNAMES.ORA. Ищите несопоставленные круглые скобки или случайные символы. Ошибки в файле TNSNAMES.ORA могут сделать это неприменимым.

  • , Если Вы используете именование каталога:

  • Проверяют, что "LDAP" перечислен как одно из значений параметра ИМЕН DIRETORY_PATH в профиле Сети Oracle (SQLNET.ORA).

  • Проверяют, что сервер каталогов LDAP возрос и что это доступно.

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

  • Проверяют, что используемый контекст по умолчанию корректен путем определения полностью определенного имени сетевой службы или полного LDAP DN как идентификатор подключения

  • при использовании легкого именования подключения:

  • Проверяют, что "EZCONNECT" перечислен как одно из значений параметра ИМЕН DIRETORY_PATH в профиле Сети Oracle (SQLNET.ORA).

  • Удостоверяются, что хост, порт и сервисное указанное название корректны.

  • Попытка, включающая идентификатор подключения в метки кавычки. См. Руководство администратора Сетевых служб Oracle или операционную систему Oracle определенное руководство для получения дополнительной информации об именовании.

9
ответ дан 1 December 2019 в 08:44
поделиться

@Warren и @DCookie покрыли решение, одной вещью подчеркнуть является использование tnsping. Можно использовать это, чтобы доказать, что TNSNames корректен прежде, чем попытаться соединиться.

, После того как Вы настроили tnsnames правильно, Вы могли использовать ODBC или попытку TOra, который будет использовать Ваше собственное соединение оракула. TOra или что-то подобное (ЖАБА, SQL*Plus и т.д.) окажутся неоценимыми в отладке и улучшении Вашего SQL.

Наконец, что не менее важно, когда Вы в конечном счете соединяетесь с ASP.net, помнят, что можно пользоваться библиотеками передачи данных Oracle. См. Oracle.com для хоста ресурсов.

2
ответ дан 1 December 2019 в 08:44
поделиться

Продолжение на предположение, Вы используете именование TNSNAMES, вот несколько вещей сделать:

  • Создают/изменяют tnsnames.ora файл в подкаталоге сети/администратора, связанном с OraHome90 для включения записи для базы данных оракула:
> SERVICENAME_alias =
>    (DESCRIPTION =
>     (ADDRESS = (PROTOCOL = TCP)(HOST = HOST.XYZi.com)(PORT = 1521))
>     (CONNECT_DATA = (SERVICE_NAME = SERVICENAME))

Это предполагает использование стандартного порта Oracle 1521. Обратите внимание, что servicename_alias может быть любым именем, которое Вы хотите использовать в локальной системе. Можно также найти, что необходимо указать (SID = SERVICENAME) вместо (SERVICENAME=SERVICENAME).

  • Выполняют tnsping servicename_alias для проверки возможности соединения. Получите эту работу прежде, чем идти дальше. Это скажет Вам, если Вы пройдете 12 154 ошибки.
  • Принятие исправного соединения, создайте DSN ODBC использование панели управления, указав драйвер ODBC для Oracle по Вашему выбору (обычно, по крайней мере, существует драйвер Microsoft ODBC, и это должно работать соответственно подтверждением концепции). Я возьму имя, которое Вы дали ИСТОЧНИКА ДАННЫХ. Используйте servicename_alias в качестве Имени сервера в конфигурации ODBC.
  • В этой точке необходимо смочь соединиться с базой данных через Доступ. Я не программист VB, но я знаю, что необходимо смочь перейти к Файлу->, Получают Внешние Данные-> Таблицы Ссылки и подключение к источнику ODBC. Я предположил бы, что Ваш код будет работать также.
5
ответ дан 1 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: