以惨痛的教训,得到微末的经验…

本文介绍ArcMap使用sde直连PostgreSQL64位,并建立企业级数据库.

一、准备工作

 本文所使用的版本:ArcMap10.6、PostgreSQL9.6.9、PostGIS2.3.

1.版本准备

 在一切开始之前,需要格外关注你所安装的PostgreSQL、PostGIS、ArcMap的版本,有以下网站可参考:PostgreSQL与PostGIS版本.
 以ArcMap10.6举例,在ArcGIS的安装目录:Desktop10.6/DatabaseSupport/PostgreSQL,会有三个文件夹(9.6、9.5、9.4),表示该ArcMap支持的PostgreSQL版本,一般ArcMap10.x会支持9.x-3到9.x的版本,所以选择ArcMap和PostgreSQL版本时要格外注意。附ArcMap10.x各版本下载地址:ArcMap10.x下载

2.下载PostgreSQL32位与64位,并安装

 PostgreSQL下载地址:https://www.postgresql.org/download/windows/
 备注:ArcMap10.x版本都是32位,并不存在64位版本,为了连接64位PG,需要在本机同时安装32位与64位PG客户端.

3.下载PostGIS

 PostGIS下载地址:http://download.osgeo.org/postgis/windows/pg96/archive/
 备注:参考第一条规则,选择合适的PostGIS版本.


二、ArcMap连接PostgreSQL

 安装结束后,需要几项复制工作:

1.st_geometry.dll库

 将Desktop10.x/DatabaseSupport/PostgreSQL目录下对应PostgreSQL版本9.x下的st_geometry.dll、pgsqlengine.dll复制到%PostgreSQL%/9.x/lib目录下,这个是sde建库的需要用到的.

2.ArcMap连接64位PostgreSQL数据库

 将32位的PostgreSQL的库复制到Desktop10.x/bin目录下,分别是libeay32.dll、libiconv-2.dll、 libintl-8.dll、 libpq.dll、 ssleay32.dll,原因:ArcMap是32位软件,需要使用32位的PostreSQL类库.


三、sde直连建库

 如图所示,sde直连建库及sde直连