ArcGIS 支持Oracle、DB2、PostgreSQL、SQLite关系型数据库升级为企业地理数据,Oracle太庞大,SQLite太小,DB2多在IBM上用,只有PostgreSQL最适合,它能与MySQL媲美。关于ArcGIS搭配PostgreSQL的教程网上很多,但大多讲得不清楚,不能解决问题,通过实测后,写下本文供大家参考。
版本选择
目前PostgreSQL最新版本是12,但ArcGIS 10.2不支持,可惜了;不要冒险尝试在ArcGIS 10.2环境下配置PostgreSQL 12,即使成功了也可能带来奇怪的问题;如果非得使用PostgreSQL 12,最好升级一下ArcGIS的版本。建议使用的版本如下:
(1)ArcGIS Desktop 10.2.2:只能32位,因为没有64位;其他10.x版或ArcGIS Server版安装配置方式类似;
下载地址:https://pan.baidu.com/s/1Eh_GSi0Gz9kC2X0AgR5QTg 密码:9x29
(2)PostgreSQL 9.2.24-1: 必须64位,因为ArcGIS Desktop10.2只支持64位的PostgreSQL,可在ArcGIS Desktop安装目录DatabaseSupport文件夹下查看支持的数据库及版本。
下载地址:https://download.csdn.net/download/xiuoxiuo/10622862
(3)PostGIS2.1.8:必须64位,可通过 Stack Builder或官方安装包安装(我的Stack Builder没有这个插件)
下载地址:http://download.osgeo.org/postgis/windows/
(4)ArcSDE for PostgreSQL不必再安装。
软件安装
安装时注意以下问题:
(1)ArcGIS Desktop因为是32位,在64位操作系统上,默认为安装在Program Files (x86)下面,这样Desktop使用不影响,但配置连接SDE会报错"文件路径不存在或太长(> 512 字符),或有无效字符。",所以必须安装在非Program Files (x86)目录下,路径可以带空格;
(2)ArcGIS Desktop10.2和PostgreSQL9.2安装顺序没有关系,PostGIS只能在PostgreSQL之后;
(3)PostgreSQL安装后,记住管理员密码,后期一直会使用。
文件替换
这是本教程的关键:
(1)将D:\Program Files\ArcGIS\Desktop10.2\DatabaseSupport\PostgreSQL\9.2\Windows64 目录下的st_geometry.dll复制到C:\Program Files\PostgreSQL\9.2\lib下,只为ESRI只提供了64位的dll,所以必须安装64位的PostgreSQL;
(2)将C:\Program Files\PostgreSQL\9.2\bin下libeay32.dll、libiconv-2.dll、libintl.dll、libpq.dll、ssleay32.dll这五个dll拷到D:\Program Files\ArcGIS\Desktop10.2\bin目录。由于PostgreSQL64位的,而ArcGIS是32位,所以不能直接拷。为此,提供了PostgreSQL32位的dll:
https://download.csdn.net/download/adkiidgtfk926/11949118
配置连接
使用ArcGIS工具箱创建企业地理数据库,参数如下:
如果是远程数据库,请修改PostgreSql配置文件,方法自行百度;
顺手提供ecp文件:
https://download.csdn.net/download/adkiidgtfk926/11949163
创建成功后才能连接。
连接成功,收工。