Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

OleDB + Oracle + TNS_ADMIN

14K
30 марта 2011 года
wes
6 / / 06.01.2006
Приложение написанное на C# в среде MS VS8 работает с СУБД Oracle (для коннекта с базой тспользую класс OleDb)
После того как перенесли файл TNSNAMES.ORA на сервер. И определили переменную окружения TNS_ADMIN (соответсвенно) приложение перестало работать (!!! причем только на компьютере разработчика приложения, на многих остальных работает), выдает ошибку ORA-12154 (os winXP).

Подскажите как определить почему приложение не видит TNS_ADMIN??!
412
30 марта 2011 года
grgdvo
323 / / 04.07.2007
Попробуйте использовать ORACLE_HOME.
По умолчанию tnsnames.ora должен находится в %ORACLE_HOME%\network\admin\
10
30 марта 2011 года
Freeman
3.2K / / 06.03.2004
Разрядность клиента, сервера и приложения разные?
14K
30 марта 2011 года
wes
6 / / 06.01.2006
разрядность одинаковая - 32. Хотя про сервер надо уточнить. Может можно как то посмотреть троссировку что ли или логи какие? Кстати, как выснилось утилита экспорта тоже перестала работать при таком раскладе, хотя pl/sql developer запускается и коннектится, а тажке нормально работает sql*plus. Клиент oracle 8i )
10
30 марта 2011 года
Freeman
3.2K / / 06.03.2004
Да, для 8i вопрос разрядности не стоит. :)

Раз штатные программы и PL/SQL Developer работают, с OCI всё в порядке (PL/SQL Developer использует OCI напрямую, без прокладок). Соответственно, проблему надо искать непосредственно в OLE DB. По нему я не спец. Знаю, что провайдер от Microsoft многие вещи Oracle не понимает, надо ставить и использовать провайдер от самого Oracle. Вроде в 8i он уже был.

Для очистки совести можно запустить tnsping с именем службы. Он должен написать, какой tnsnames.ora используется для разрешения имён. Теоретически проблема может быть и в sqlnet.ora, но тогда должна воспроизводиться во всех приложениях.

Сколько Oracle_home на сервере?
14K
30 марта 2011 года
wes
6 / / 06.01.2006
Цитата: Freeman
Сколько Oracle_home на сервере?



)Хороший вопрос, Oracle_home не менял, просто было решено снести tnsnames.ora на всех клиентских компьютерах и расположить его на сервере, указав адрес в tns_admin.

Пропингую завтра на работе)

14K
31 марта 2011 года
wes
6 / / 06.01.2006
tnsping прошел на ОК.
14K
31 марта 2011 года
wes
6 / / 06.01.2006
Freeman , жуть, танцев с бубном не делал, зарабтало сегодня.
90K
02 апреля 2013 года
NickAssa
1 / / 02.04.2013
Цитата: Freeman
Разрядность клиента, сервера и приложения разные?


Доброе время суток!
Проблема такая же
Т.е. приложение на C# не видит tnsnames
Причем на месте заказчика Oracle 10g и там все ОК

На ноутбуке Oracle XE - не коннектится
Причем SQL Navigator соединяется на ура, используя тот же tnsnames
Oracle_home один.

Разрядность РАЗНАЯ Oracle 32-x, система Win7 64 Ultimate Ed.

10
04 апреля 2013 года
Freeman
3.2K / / 06.03.2004
А приложение на C# тоже 32-битное?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог