В справке по ArcGIS детально описано, как конфигурировать клиентское ПО для подключения к СУБД Oracle: http://resources.arcgis.com/ru/help/main/10.2/#/na/002n00000038000000/.
Hо эта инструкция не всегда приводит к успешному подключению. И дело не столько в том, что инструкция не верна, а в том, что она не рассчитана на все встречающиеся конфигурации.
В данной инструкции, которую вы сейчас читаете, описываются параметры конфигурирования клиентское ПО Oracle, которые оказываются работоспособными в 95% случаев. Инструкция рассчитана на то, что на компьютере установлен и ArcGIS for Desktop (32-битное приложение), и ArcGIS for Server (64-битное приложение), но НЕ установлена СУБД Oracle.
1. Откройте Панель управления\Все элементы панели управления\Система\Дополнительные параметры системы\Переменные среды.
Отредактируйте системную переменную PATH так, чтобы она НЕ СОДЕРЖАЛА никаких ссылок на ПО Oracle.
2. Пропишите в файл tnsnames.ora параметры подключения у СУБД. Пример:
conn_name =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv_name)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = serv_name)))
Сохраните файл tnsnames.ora в каталог C:\client32. Создайте системную переменную
TNS_ADMIN= C:\client32
3. Скачайте и разархивируйте Oracle Instant Client 32-bit. Скачать можно и с сайта Oracle и с сайта my.esri.com.
Для определенности каталог, где лежат файлы Oracle Instant Client 32-bit назовем C:\client32.
Зайдите в систему под своим логином, под которым вы работаете и запускаете ArcGIS for Desktop.
Перейдите в Панель управления\Все элементы панели управления\Система\Дополнительные параметры системы\Переменные среды.
Создайте пользовательскую переменную
PATH = C:\client32
(Если установлен не Instant Client, а Runtime, Administrator, то PATH= C:\client….\bin)
4. Скачайте и разархивируйте Oracle Instant Client 64-bit.
Для определенности каталог, где лежат файлы Oracle Instant Client 64-bit назовем C:\client64.
Выйдите из системы. Зайдите в систему под логином, от имени которого запускается ArcGIS for Server, обычно это arcgis.
Перейдите в Панель управления\Все элементы панели управления\Система\Дополнительные параметры системы\Переменные среды.
Создайте пользовательскую переменную
PATH = C:\client64
(Если установлен не Instant Client, а Runtime, Administrator, то PATH= C:\client….\bin)
Естественно, к каталогам C:\client32 и C:\client64 должны иметь доступ все пользователи компьютера.
После указанных действий ArcGIS for Desktop будет обращаться к 32-битному клиентскому ПО Oracle, а ArcGIS for Server будет обращаться к 64-битному клиентскому ПО Oracle. И оба программных продукта будут читать конфигурацию подключения из общего файла tnsnames.ora из каталога C:\client32.
Для подключения к СУБД вы должны указывать название подключения, то есть
conn_name
В старых версиях или в командной строке следует указывать в качестве экземпляра
sde:oracle11g:conn_name
Если ArcGIS for Server не установлен на компьютере, то пункт 4 можно исключить.
5. Если после этого подключение не функционирует, то придется установить расширенного клиента Oracle (Runtime, Administrator, etc) и проверить подключение через sqlplus:
sqlplus <login>/<password>@<connection> (использует подключение из файла tnsnames.ora)
и/или
sqlplus «<login>/<password>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=<hostname>;)(Port=1521))(CONNECT_DATA=(SID=<remote_SID>;)))»
(использует параметры подключения непосредственно из этой коммандной строки)