ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Настройка базы геоданных в Informix

Доступно с лицензией Standard или Advanced.

  • Настройка Informix
  • Настройка клиента ArcGIS
  • Создание базы геоданных

Для создания баз геоданных в базе данных IBM Informix можно использовать инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт Python.

В следующих разделах вы узнаете, как:

  • Настроить Informix для хранения базы геоданных.
  • Настроить клиента ArcGIS для подключения к Informix.
  • Создать базу геоданных в базе данных Informix.

Настройка Informix

Перед тем как запустить инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) или скрипт для создания базы геоданных в Informix, необходимо установить и настроить систему управления базами данных Informix. Проверьте Системные требования ArcGIS, прежде чем настроить базу геоданных, чтобы быть уверенным, что комбинация базы данных, ArcGIS и аппаратного обеспечения, которую вы хотите использовать, поддерживается.

Вам необходимо следовать инструкциям IBM по установке и настройке вашего экземпляра Informix. Далее следуйте данным шагам для настройки базы данных и учетной записи для использования вашей базы геоданных.

  1. В операционной системе на сервере Informix создайте пользователя с именем sde.

    Вам следует подключиться к базе данных с учетной записью sde, чтобы создать базу геоданных.

  2. Внесите следующие изменения в файл ONCONFIG в Informix:
    1. Снимите комментарий с параметра VPCLASS jvp,num=1.

      Это позволяет создать в базе геоданных функцию sde.retrieve_guid(), которая требуется для репликации, автономного использования карт и SQL-редактирования таблиц, содержащих столбцы глобальных идентификаторов ID или GUID. Эта настройка нужна также для рабочих процессов неверсионной архивации.

    2. Задайте параметру USEOSTIME значение 1, чтобы использовать значения времени менее секунды.

      Задание этого параметра позволяет вам выполнять редактирование рабочих процессов, которые требуют редактирования неверсионных данных в автономном режиме.

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

    База данных Informix для вашей базы геоданных должна удовлетворять следующим требованиям:

    • По меньшей мере 100 МБ свободной памяти для хранения системных объектов базы геоданных
    • Ведение журнала или буферизированное ведение журнала включено для базы данных

      ArcGIS устанавливает транзакции, и вы не сможете вставлять данные, если ведение журнала или буферизированное ведение журнала не включено для базы данных. Вы можете сделать это при создании базы данных с помощью dbaccess или команды ontape.

      ontape -s -B <database name>
      

    • Включено ведение журнала для сложных двоичных объектов

      Все сложные двоичные объекты (sbspaces), используемые для пространственных данных, также должны быть записаны в журнал. Запись в журнал создания сложных двоичных объектов не является функцией по умолчанию. Однако, чтобы обеспечить регистрацию транзакций для активации откатов и защиты всех пространственных данных вы должны включить регистрацию в журнале для всех smart blobs. Запустите следующую задачу в качестве пользователя informix, чтобы включить регистрацию в журнале для сложного двоичного объекта sbspace:

      onspaces -ch SBLOBspace -DF LOGGING=ON
      

  4. Предоставьте роль EXTEND и права доступа RESOURCE учетной записи sde в базе данных.

Затем настройте клиента ArcGIS, из которого вы подключитесь и создадите базу геоданных в базе данных Informix.

Настройка клиента ArcGIS

Вы можете запустить скрипт Python из ArcGIS for Desktop (Standard или Advanced), ArcGIS Engine Runtime с дополнительным модулем Geodatabase Update или ArcGIS for Server (Standard или Advanced) для создания базы геоданных. Если вы хотите запустить инструмент геообработки Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase) вместо скрипта, то используйте ArcGIS for Desktop.

Примечание:

Вам потребуется файл ключей ArcGIS Server для авторизации вашей базы геоданных в следующем разделе. Даже если вы не запустите скрипт Python с компьютера ArcGIS Server для создания базы геоданных, вы должны установить и авторизовать ArcGIS Server для того, чтобы получить файл ключей.

  1. Установите клиента ArcGIS, которого вы собираетесь использовать для создания базы геоданных.

    Следуйте инструкциям руководств по установке программного обеспечения.

  2. В большинстве случаев ваш клиент ArcGIS будет установлен не на сервере Informix; поэтому установите и настройте клиента Informix на компьютере с клиентом ArcGIS.

    Клиента Informix Connect (IConnect) можно загрузить с My Esri. Информацию об установке клиента Informix смотрите в документации IBM. Если вы устанавливаете клиент Informix, чтобы запустить 32-разрядный клиент ArcGIS, установите клиентское 32-разрядное приложение Informix IConnect. Если вы устанавливаете клиент Informix для ArcGIS for Server, установите 64-разрядное клиентское приложение IConnect.

  3. Ели ваш клиент ArcGIS установлен на компьютере с ОС Windows, зарегистрируйте сервер Informix с помощью SetNet32.
  4. Вы можете подключиться к базе данных Informix из ArcGIS, используя строку подключения DSNless. Если вы хотите использовать для подключения имя источника данных ODBC, его необходимо настроить. Инструкции см. в разделе Настройка источника данных ODBC для Informix.

Теперь вы можете создать базу геоданных.

Создание базы геоданных

Используйте один из следующих методов для создания базы геоданных в вашей базе данных Informix:

Используйте инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase)

Если вы установили и настроили ArcGIS for Desktop для подключения к вашей базе данных Informix, то вы можете запустить инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase).

  1. Запустите ArcMap или ArcCatalog.
  2. Подключитесь к базе данных Informix из дерева Каталога. Подключитесь с учетной записью sde.

    Убедитесь в том, что в диалоговом окне Подключение базы данных (Database Connection) сохранен пароль пользователя sde.

    Примечание:

    В версиях ArcGIS до 10.3 вы не могли использовать подключение без DSN при активации функциональных возможностей базы геоданных или ее обновлении.

  3. Щелкните правой кнопкой мыши подключение к базе данных и выберите Включить базу геоданных (Enable Geodatabase).

    Откроется инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase).

  4. Добавьте файл подключения к базе данных для базы Informix в текстовом окне Входная база данных (Input Database).
  5. Перейдите к файлу ключей ArcGIS for Server, который был создан при авторизации ArcGIS for Server, и добавьте его в текстовое поле Файл авторизации (Authorization File).

    При использовании мастера для авторизации ArcGIS for Server файл ключей записывается на сервер, где установлено программное обеспечение. Если вы авторизовали ArcGIS for Server на компьютере с Linux, то файл был создан в /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen. Если вы авторизовали на сервере Windows, то файл был создан в Program Files\ESRI\License<release>\sysgen. Если данная процедура еще не выполнена, авторизуйте ArcGIS for Server для создания этого файла.

  6. Щелкните OK, чтобы запустить инструмент.

    Создание базы геоданных (GDBCreateGeodatabase<№>.log) регистрируется в файле журнала, который сохраняется в каталоге, указанном для переменной %TEMP%, на том компьютере, где запущен инструмент. При наличии проблем с запуском инструмента изучите этот файл журнала для их устранения.

В базе данных Informix создается база геоданных.

Затем создайте пользователей для загрузки данных в базу геоданных. Инструкции по созданию пользователей см. в документации IBM Informix Information Center.

Использование скрипта Python

Вы можете запустить скрипт Python из ArcGIS for Desktop (Standard или Advanced), ArcGIS for Server (Standard или Advanced) или с клиентского компьютера ArcGIS Engine (с дополнительным модулем Geodatabase Update) для создания базы геоданных в базе данных Informix.

Выполните следующие действия, чтобы запустить скрипт Python для создания базы геоданных в базе данных Informix:

  1. Создайте текстовый файл на клиентском компьютере ArcGIS и скопируйте следующий скрипт в файл.

    """
    Name: enable_enterprise_gdb.py
    Description: Provide connection information to an enterprise database
    and enable enterprise geodatabase.
    Type enable_enterprise_gdb.py -h or enable_enterprise_gdb.py --help for usage
    Author: Esri
    """
    
    # Import system modules
    import arcpy, os, optparse, sys
    
    
    # Define usage and version
    parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 1.0 for " + arcpy.GetInstallInfo()['Version'] )
    
    #Define help and options
    parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS', ''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, POSTGRESQL, DB2, INFORMIX, or DB2ZOS.")
    parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
    parser.add_option ("--auth", dest="account_authentication", type ="choice", choices=['DATABASE_AUTH', 'OPERATING_SYSTEM_AUTH'], default='DATABASE_AUTH', help="Authentication type options (case-sensitive):  DATABASE_AUTH, OPERATING_SYSTEM_AUTH.  Default=DATABASE_AUTH")
    parser.add_option ("-u", dest="User", type="string", default="", help="Geodatabase administrator user name")
    parser.add_option ("-p", dest="Password", type="string", default="", help="Geodatabase  administrator password")
    parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
    parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file")
    
    
    # Check if value entered for option
    try:
    	(options, args) = parser.parse_args()
    
    	
    #Check if no system arguments (options) entered
    	if len(sys.argv) == 1:
    		print "%s: error: %s\n" % (sys.argv[0], "No command options given")
    		parser.print_help()
    		sys.exit(3)
    	
    
    	#Usage parameters for spatial database connection
    	database_type = options.Database_type.upper()
    	instance = options.Instance
    	account_authentication = options.account_authentication.upper()
    	username = options.User.lower() 
    	password = options.Password	
    	database = options.Database.lower()
    	license = options.Authorization_file
    
    
    	if( database_type ==""):	
    		print " \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified.")
    		parser.print_help()
    		sys.exit(3)		
    		
    	if (license == ""):
    		print " \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")
    		parser.print_help()
    		sys.exit(3)
    
    	if (database_type == "SQLSERVER"):
    		database_type = "SQL_SERVER"
    		
    	# Get the current product license
    	product_license=arcpy.ProductInfo()
    	
    	if (license == ""):
    		print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")
    		parser.print_help()
    		sys.exit(3)
    	
    	# Checks required license level
    	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
    		print "\n" + product_license + " license found!" + "  Enabling enterprise geodatabase functionality requires an ArcGIS for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS for Server license."
    		sys.exit("Re-authorize ArcGIS before enabling an enterprise geodatabase.")
    	else:
    		print "\n" + product_license + " license available!  Continuing to enable..."
    		arcpy.AddMessage("+++++++++")
    	
    	# Local variables
    	instance_temp = instance.replace("\\","_")
    	instance_temp = instance_temp.replace("/","_")
    	instance_temp = instance_temp.replace(":","_")
    	Conn_File_NameT = instance_temp + "_" + database + "_" + username    
    	
    	if os.environ.get("TEMP") == None:
    		temp = "c:\\temp"	
    	else:
    		temp = os.environ.get("TEMP")
    	
    	if os.environ.get("TMP") == None:
    		temp = "/usr/tmp"		
    	else:
    		temp = os.environ.get("TMP")  
    	
    
    	Connection_File_Name = Conn_File_NameT + ".sde"
    	Connection_File_Name_full_path = temp + os.sep + Conn_File_NameT + ".sde"
    	
    	# Check for the .sde file and delete it if present
    	arcpy.env.overwriteOutput=True
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    	
    	print "\nCreating Database Connection File...\n"	
    	# Process: Create Database Connection File...
    	# Usage:  out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true)
    	arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE")
            for i in range(arcpy.GetMessageCount()):
    		if "000565" in arcpy.GetMessage(i):   #Check if database connection was successful
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("\n+++++++++")
    			arcpy.AddMessage("Exiting!!")
    			arcpy.AddMessage("+++++++++\n")
    			sys.exit(3)            
    		else:
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("+++++++++\n")
    	
    	
    	# Process: Enable geodatabase...
    	try:
    		print "Enabling Enterprise Geodatabase...\n"
    		arcpy.EnableEnterpriseGeodatabase_management(input_database=Connection_File_Name_full_path, authorization_file=license)
    		for i in range(arcpy.GetMessageCount()):
    			arcpy.AddReturnMessage(i)
    		arcpy.AddMessage("+++++++++\n")
    	except:
    		for i in range(arcpy.GetMessageCount()):
    			arcpy.AddReturnMessage(i)
    			
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    			
    #Check if no value entered for option	
    except SystemExit as e:
    	if e.code == 2:
    		parser.usage = ""
    		print "\n"
    		parser.print_help() 
    		parser.exit(2)
    

  2. Сохраните файл с расширением .py.
  3. Запустите скрипт, предоставив специфичные для вашего сайта опции и информацию.

    В следующем примере запуск выполняется с компьютера с Windows, файл enable_gdb.py запускается для базы данных spdata на экземпляре idsprod. Подключение выполняется для учётной записи sde с паролем Tgdbst@rtsh3r3. Для авторизации базы геоданных в местоположении для ArcGIS Server по умолчанию задаётся файл ключей.

    enable_gdb.py --DBMS INFORMIX -i idsprod --auth DATABASE_AUTH 
    -u sde -p Tgdbst@rtsh3r3 -D spdata -l \\Program Files\ESRI\License10.3\sysgen\keycodes
    

    Это пример запуска скрипта на компьютере с Linux:

    /enable_gdb.py --DBMS INFORMIX -i idsprod --auth DATABASE_AUTH 
    -u sde -p Tgdbst@rtsh3r3 -D spdata -l /usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.3/sysgen/keycodes
    
    Подсказка:

    Введите -h или --help в командной строке для вывода справки синтаксиса.

    Файл отчета о создании базы геоданных (GDBCreateGeodatabase<#>.log) будет записан в папку, заданную переменной TEMP или TMP на компьютере, где был запущен скрипт.

В базе данных Informix создается база геоданных.

Затем создайте пользователей для загрузки данных в базу геоданных. Инструкции по созданию пользователей см. в документации IBM Informix Information Center.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация