2011-01-13 3 views
2

Я не могу подключиться к схеме Oracle через веб-службу asmx, а не через консольное приложение [x86].Подключение к Oracle работает через консольное приложение и не работает через веб-службу

Код:

var conn = new OracleConnection("Data Source=xe;User ID=mySchema;Password=myPass"); 

Исключение:

ORA-12154: TNS:could not resolve the connect identifier specified 

среда: Windows 7 x64 - VS 2008.

Любая идея?

любезно просят у меня какой-либо дополнительной информации

Спасибо заранее.

+0

Являются ли консольные приложения и веб-службы запущенными с одного и того же хоста? Правильно ли настроены ваши файлы sqlnet.ora и tnsnames.ora, чтобы разрешить разрешение имен для указанной базы данных? Вы пытались подключить TNSPing к хосту, к которому вы пытаетесь подключиться? Это решение? –

+0

@DarkBobG: Да, они из одного хозяина. и я попробовал TNSPing, он разрешил псевдоним. все нормально. – Homam

ответ

3

ОКА, клиент слой Oracle, на котором основан ОРС (или нативный клиент слой Oracle), содержит ошибку, которая предотвращает любое приложение, расположенное в папке, содержащей круглые скобки() с работает должным образом

Эта ошибка очень заметен с момента появления папки Program Files (x86) ...

Хост, выполняющий ваше приложение (обычно IIS), вероятно, находится в папке x86, следовательно проблема. Ваше консольное приложение работает нормально, потому что оно, вероятно, находится в папке, в которой нет проблемы.

Дополнительная информация и несколько решений here.

0

Я вообще не парень Oracle, но я столкнулся с подобными ситуациями в других базах данных. Проблема была в том, что DSN был создан как пользовательский DSN, а не системный DSN. Я не знаю, как создаются источники данных Oracle, но я бы это выяснил.