Как я могу развернуть приложение .Net, использующее ODAC, на чистый компьютер с файлом tsnames.ora, упакованным с установщиком

Итак, вот в чем проблема. Это приложение, которое у меня есть, использует компоненты ODAC, но я не хочу устанавливать клиентов Oracle на все компьютеры, на которых должно быть установлено приложение. Итак, я подписался на эту статью ниже:

Каков минимальный установка, необходимая для развертывания приложения .NET с Oracle client 11?

Статья хорошо работает с компьютерами, на которых установлен какой-то оракул или, по крайней мере, tnsnames.ora находится в правильном месте. Однако на новой машине я получаю сообщение об ошибке ORA-12645: Параметр не существует. Я попытался упаковать tnsnames.ora вместе с sqlnet.ora, но .dll не могут их найти. В приведенном ниже коде возникла ошибка:

 g_Db.ConnectionString = "Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=osw-rmoradev)(PORT=1523))) (CONNECT_DATA=(SERVER=DEDICATED)(SID=RML3A))); User Id=RM_Level3;Password="passowrd";"
            g_Db.Open()

Любые идеи о том, как упаковать файлы .ora, будут полезны.


person Fernum    schedule 26.07.2012    source источник


Ответы (2)


Пробовали ли вы использовать Oracle Data Provider вместо установки клиента? Я помню, как наткнулся на этот проект, и тогда мне не нужно было устанавливать клиент Oracle. Ссылка на ODP

person Josh    schedule 26.07.2012

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

nvironment.SetEnvironmentVariable("PATH", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0;" + "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0\Data\\R5MG416O.62T\77DKVOW4.TWH\rct...tion_7a1a328dbe52217b_0002.0000_f2dbb34fd1c05e8d\Data;", EnvironmentVariableTarget.Process)
                    Environment.SetEnvironmentVariable("ORACLE_HOME", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0", EnvironmentVariableTarget.Process)
person Fernum    schedule 27.07.2012
comment
Однако вам нужно будет создать пути среды для каждой операционной системы. Я дам ответ после еще нескольких тестов. - person Fernum; 27.07.2012