В Windows наиболее вероятные расположения: %ORACLE_HOME%/network/admin
или %TNS_ADMIN%
(или параметр реестра TNS_ADMIN). Эти два охватывают почти каждую установку.
Конечно, возможно иметь работающий клиент Oracle без этого файла. У Oracle есть множество недоразумений, связанных с сетевыми опциями, и существует множество способов добиться работоспособности при использовании TNSNAMES. В зависимости от того, чего вы здесь добиваетесь, вашим первым портом вызова может быть файл sqlnet.ora
, который также находится в %ORACLE_HOME%/network/admin
. Это должно содержать строку, которая выглядит примерно так:
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)
TNSNAMES
означает, что он будет использовать файл TNSNAMES.ora
(второй в данном случае). LDAP
и HOSTNAME
- альтернативные способы разрешения базы данных. Если нет TNSNAMES
, файл TNSNAMES.ora
будет игнорироваться, если он существует в нужном месте.
В C # / .NET вы должны получить переменные окружения:
Environment.GetEnvironmentVariable("ORACLE_HOME");
Environment.GetEnvironmentVariable("TNS_ADMIN");