2015-10-16 7 views
0

Я разрабатываю приложение, в котором при нажатии кнопки отправки вызывается хранимая процедура (с использованием oracle 11g, toad as client). Я googled и нашел, что использовал oracle.dataaccess.dll, так скачанный из oracle.Предоставление ORA: 12154 Ошибка при открытии соединения

Мой код

string oradb = "Data Source=xyz;User ID=abc;Password=abc;"; 
OracleConnection conn = new OracleConnection(oradb); 
conn.Open(); 

Conn.open дает ошибку ORA: 12154

IAM с использованием oracle.dataaccess.client имен

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

источник РМКО данных с помощью правильно и я успешно соединив его с помощью инструмента, представленного в визуальной студии 2015.

+0

Можете ли вы предоставить строку подключения и «tnsnames.ora»? –

ответ

0

ORA-12154 не имеет ничего общего с ODP.Net, простыми словами, это означает, что есть какая-то проблема конфигурации с TNSNames.ora, простым способ решить эту проблему будет открыть окно командной строки, откуда Oracle окна инструменты доступны в пути, как tnsping.exe, sqlplus.exe, lsnrctl.exe

tnsping <tnsalias> должны быть в состоянии проверить, что точка сети действует и может быть пингуется, как описано в tnsames. Ora file

Если это удастся, то следующий будет работать:

sqlplus <username>/<password>@tnsalias, который просто означает, что вы уладили все соответствующие вопросы и ODP.Net будет работать, как и ожидалось, при условии, имя пользователя и пароль правильны

Возможно, вы даже захотите позаботиться о том, что из командной строки VS открывается правильный tnsnames.ora, поэтому вы можете попробовать выполнить упражнение из командной строки VS, которое можно использовать для доступа к инструментам Oracle, при условии, что соответствующий путь добавлен. В одной проверке используется одна и та же VS-команда VS, чтобы открыть решение VS.Net. Загрузка этих файлов Ora проще всего из текущего каталога выполнения, который имеет приоритет над переменной Path. Кроме того, убедитесь, что SQLNET.ORA является правильным, как и ожидалось, что будет гарантировать, что аутентификация является правильным, но не приведет к ORA-12154

несколько ссылок, которые вы можете обратиться к:

MSDN

Ora-Code

+0

Источник данных iam используется правильно и пинговать также, как сказал я. Кроме того, я пытаюсь установить соединение с базой данных через Visual Studio с тем же источником данных, и он был подключен. Мне удалось получить все таблицы и SP. Проблема возникает, когда то же самое, что и в моем aspx.cs и conn.open(), дает мне ошибку –

+0

Это происходит потому, что aspx, развернутый на веб-сервере IIS, работает в контексте процесса w3p.exe и ваших текущих tnsnames.путь ora недоступен в переменных среды, загружаемых для рабочего процесса IIS, это не то же самое, что загрузить его из командной строки. Позвольте мне видеть, если я могу найти полезную ссылку –

+0

Как я понимаю, IIS принимает переменные среды по умолчанию, включая PATH, поэтому, если стандартное приглашение может получить доступ к tnsalias, перезапуск процесса/веб-сайта IIS поможет –

0

У меня был пакет oracle, предоставляющий библиотеку DLL .net. Я успешно установил этот пакет и настроил его. Единственное, чего не хватало в этой установленной папке, мы также должны скопировать/вставить файл tnsname.ora, который исправит ошибку. Спасибо, мистер Камбой, за вашу поддержку.