Можно подключиться к Oracle из клиентов ArcGIS. Для этого установите клиентское приложение Oracle на компьютере с клиентом ArcGIS, задайте переменные среды, которые ссылаются на клиента Oracle и подключитесь к базе данных из клиента ArcGIS.
После настройки клиента создайте файл подключения. Чтобы использовать данные Oracle в сервисах, опубликованных на сайте ArcGIS Server, необходимо зарегистрировать базу данных или базу геоданных на сайте.
Подключение из ArcMap
Чтобы подключиться к базе данных или геоданных в Oracle из ArcMap, установите 32-разрядный клиент Oracle на компьютер с ArcMap, задайте переменную среды PATH в соответствии с расположением клиента Oracle и создайте файл подключения в дереве Каталога.
Установка клиента Oracle
Чтобы выполнить подключение клиентского компьютера к базе данных Oracle, на клиентском компьютере необходимо установить клиентское приложение Oracle. Убедитесь, что вы устанавливаете именно ту версию клиентского приложения Oracle, которая совместима с версией базы данных, к которой вы должны подключиться.
Следуйте инструкциям в документации Oracle, чтобы получить клиент Oracle Instant, Runtime, или Administrator и установить его на клиентский компьютер.
Задание переменной среды PATH
Задайте переменную среды PATH на сервере Windows с ArcMap в соответствии с местом установки клиента Oracle. Подробные инструкции по заданию переменной PATH см. в документации Microsoft Windows.
Если ArcMap был открыт до задания переменной PATH, перезапустите ArcMap, чтобы использовать новые параметры.
Подключение к базе данных
К базе данных или базе геоданных в Oracle можно подключиться, если добавить подключение базы данных в узел Подключения баз данных в дереве Каталога в ArcMap или ArcCatalog.
- Разверните папку Подключения баз данных в дереве Каталога в ArcMap или ArcCatalog и щелкните дважды на Добавить подключение базы данных.
- В раскрывающемся списке Платформа базы данных выберите Oracle.
- При подключении к Oracle либо введите имя Oracle TNS в поле Экземпляр, либо задайте одну из следующих строк Oracle Easy Connect:
- Имя сервера Oracle/Имя или ID сервиса Oracle
Например, если Oracle установлен на myserver, и имя сервиса Oracle – myosvc, введите следующее:
myserver/myosvc
- Имя сервера Oracle:Номер порта Oracle/Имя или ID сервиса Oracle
В этом примере Oracle установлен на myserver, использует порт 60000, а имя сервиса Oracle – myoservice.
myserver:60000/myoservice
- Адрес сервера Oracle
URL для такого же случая, как в последнем примере, был бы следующим:
//myserver:60000/myoservice
- Имя сервера Oracle (Вы можете использовать его в том случае, если приемник Oracle на сервере настроен на указание экземпляра по умолчанию.)
- IP-адрес сервера Oracle/имя или ID сервиса Oracle
Например, если адрес сервера 10:10:10:10, а имя сервера Oracle – orasvc, введите 10:10:10:10/orasvc.
Для адресов IPV6, поместите адрес в скобки, например, [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc.
- IP-адрес сервера Oracle: номер порта Oracle/имя или ID сервиса Oracle
В этом примере IP-адрес 10:20:30:40, порт 59999, а сервис Oracle – myomy1: 10:20:30:40:59999/myomy1.
IPV6-адрес для такого же порта и сервиса выглядел бы следующим образом: [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1.
Убедитесь, что ваш экземпляр Oracle разрешает Easy Connect. Если у вас установлен полный клиент Oracle, а вы хотите использовать для подключения синтаксис Easy Connect, убедитесь, что файл sqlnet.ora клиента настроен на разрешение использования Easy Connect, а сервер Oracle разрешает синтаксис Easy Connect. Помните, что если ваш экземпляр Oracle не использует номер порта Oracle, принятый по умолчанию, необходимо включить номер порта в синтаксис подключения.
- Имя сервера Oracle/Имя или ID сервиса Oracle
- Выберите тип аутентификации, который будет использоваться при подключении к базе данных: Аутентификация в базе данных или Аутентификация средствами операционной системы .
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Помните, что вы не можете использовать аутентификацию средствами операционной системы с клиентом Oracle Instant.
Если вы выбираете Аутентификация в базе данных, вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
Снимите отметку с опции Сохранять имя пользователя и пароль, если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако в этом случае при каждом подключении вы должны будете вводить имя пользователя и пароль. Помните, что опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных или базе геоданных, либо, если вы хотите использовать поиск Каталога, для того, чтобы найти данные, полученные через этот файл подключения.
В следующем примере выполняется подключение к экземпляру Oracle oracl/dbdata с использованием аутентификации в базе данных.
- Нажмите OK для подключения.
Файл создается в \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog.
Вы можете переместить файл подключения в другое место, предварительно убедившись, что пользователи и приложения, которым потребуется подключение, имеют права чтения информации в директории, куда вы хотите его переместить.
Если вы используете данные из этого подключения в качестве источника для таких сервисов, как геообработка или геокодирование, возможно, потребуется поместить файл подключения в папку с общим сетевым доступом. Дополнительные сведения о публикации файла подключения см. в разделе Предоставление доступа к данным для ArcGIS Server.
Подключение из ArcGIS Server
Если Oracle и ArcGIS Server находятся на разных серверах, установите 64-разрядный клиент Oracle на всех компьютерах сайта ArcGIS Server.
Если ArcGIS Server установлен на серверах с Linux, включите в скрипт init_user_param.sh, установленный с ArcGIS Server, информацию о клиенте и экземпляре Oracle и перезапустите ArcGIS Server.
Если вы хотите, чтобы сервисы, опубликованные вами на ArcGIS Server, использовали данные из вашей базы данных или базы геоданных в Oracle, зарегистрируйте базу данных на ваших сайтах ArcGIS Server.
Установка клиента Oracle
Если ArcGIS Server и Oracle установлены на разных серверах, необходимо установить клиентское приложение Oracle на каждом компьютере сайта ArcGIS Server. Убедитесь, что вы устанавливаете именно ту версию клиентского приложения Oracle, которая совместима с версией базы данных, к которой вы должны подключиться.
Вы можете получить клиент Oracle Instant, Runtime или Administrator Client от Oracle и затем установить его на компьютеры с ArcGIS Server. Для установки клиента Oracle следуйте инструкциям, приведенным в вашей документации Oracle.
Установите переменную среды PATH (только в Windows)
Задайте переменную среды PATH для каждого сервера Windows с ArcGIS Server в соответствии с местом установки клиента Oracle. Подробные инструкции по заданию переменной PATH см. в документации Microsoft Windows.
Если ArcGIS Server был запущен перед настройкой клиента Oracle и настройкой переменной среды PATH, необходимо перезапустить ArcGIS Server. Перезапуск ArcGIS Server можно выполнить из интерфейса Сервисы в Windows.
Изменение скрипта init_user_param.sh (только Linux)
После установки файлов клиента базы данных, измените скрипт init_user_param.sh, установленный с ArcGIS Server, чтобы он включал ссылки на файлы клиента. Этот скрипт находится в директории <ArcGIS Server installation directory>/arcgis/server/usr.
- Убедитесь, что у владельца установки ArcGIS Server на каждом компьютере есть права доступа к библиотекам клиента базы данных как минимум для чтения и выполнения.
- В текстовом редакторе откройте скрипт init_user_param.sh.
- Удалите знаки комментария (#) в строках, начиная с export.
Если вы установили клиента Oracle Administrator, Developer или Runtime, удалите символы комментирования со всех строк Oracle, начинающихся с export.
# # To connect to Oracle # export ORACLE_BASE=<Oracle_Installdir>/app export ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1 export ORACLE_SID=<set when applicable> export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin> export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
Если вы используете библиотеки клиента базы данных Oracle Instant, необходимо только раскомментировать и задать $LD_LIBRARY_PATH, например
# # To connect with Oracle Instant Client # export LD_LIBRARY_PATH=<Location_to_instantclient>:$LD_LIBRARY_PATH
- Введите значения для переменных экспорта.
- Для Oracle Administrator, Developer или Runtime, удалите символы комментирования и задайте следующие переменные, в соответствии с параметрами вашей системы:
ORACLE_BASE=<Oracle_Installdir>
<Oracle_Installdir> – это путь и имя директории верхнего уровня, в которой установлен клиент Oracle.
ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1
Это путь к файлам библиотеки клиента Oracle. Задайте для ORACLE_HOME директорию, в которой они находятся. По умолчанию имя директории client_1, но у вас может использоваться другое имя.
- Если вы будете использовать для подключения Oracle system ID (SID), задайте ORACLE_SID= в соответствии с Oracle system ID вашей базы данных. Если вы будете использовать для подключения Easy Connect, закомментируйте эту строку.
- Задайте TNS_ADMIN= в соответствии с расположением файлов администрирования TNS клиента Oracle. Если вы будете использовать для подключения Easy Connect, вам не понадобится это значение, эту строку необходимо закомментировать.
- Для клиентов Oracle Instant раскомментируйте и задайте только переменную LD_LIBRARY_PATH, заменив <Location_to_instantclient> на путь к директории, в которой находятся файлы клиента Oracle Instant.
- Если на одном сервере установлены ArcGIS Server и Oracle, необходимо раскомментировать и задать следующие переменные:
- ORACLE_BASE=<Oracle_Installdir>
<Oracle_Installdir> – это путь и имя директории верхнего уровня, в которой установлен Oracle.
- ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1
Это путь к файлам библиотеки Oracle. Задайте для ORACLE_HOME директорию, в которой они находятся. По умолчанию имя директории db_<n>, но у вас может использоваться другое имя.
- Если вы будете использовать для подключения Oracle system ID (SID), задайте ORACLE_SID= в соответствии с Oracle system ID вашей базы данных. Если вы будете использовать для подключения Easy Connect, закомментируйте эту строку.
- Задайте TNS_ADMIN= в соответствии с расположением файлов администрирования TNS клиента Oracle. Если вы будете использовать для подключения Easy Connect, вам не понадобится это значение, эту строку необходимо закомментировать.
- ORACLE_BASE=<Oracle_Installdir>
- Для Oracle Administrator, Developer или Runtime, удалите символы комментирования и задайте следующие переменные, в соответствии с параметрами вашей системы:
- Сохраните и закройте скрипт.
- После настройки init_user_param.sh на каждом компьютере вашего сайта ArcGIS Server, запустите скрипт startserver.sh для перезапуска ArcGIS Server.
./startserver.sh
Регистрация базы данных
Если вы хотите использовать в веб-сервисах данные из вашей базы данных Oracle или базы геоданных в Oracle, зарегистрируйте ее на ваших сайтах ArcGIS Server. Для баз геоданных Oracle есть две опции регистрации. В разделе О регистрации данных на ArcGIS Server можно найти информацию об опциях регистрации и ссылки на разделы справки с инструкциями по регистрации базы данных.