去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是ArcGIS 10.1默认的直连方式,在跟客户的交流中得知,客户还想使用服务的连接方式,在这里我将如何使用服务连接的方式也以文档的形式记录下来,希望能对大家有所帮助。

      在ArcGIS 10.1的时候要支持9.1系列的Postgresql数据库需要安装sp1,这算是一个硬性要求。ArcGIS 10.2 即将发布,在ArcGIS 10.2中对Postgresql数据库的支持有了更多的选择,可以支持9.0系列的,9.1系列和9.2系列的Postgresql数据库。这对大家带来得好处不言而喻。


1 安装环境


2 安装过程
2.1 创建sde用户



      在linux上安装sde ,必须创建一个名为sde的操作系统账户,这个账户将负责sde的启动,停止等操作,命令如下图:





      将SDE软件传到linux上,可以通过SSH,FTP,在虚拟机上还可以直接挂在ISO文件。在这里我直接将所需要的文件(pg_64)传到了linux上,放在了/var/SDE目录中,确保sde用户对这个文件夹有读写权限,使用sde用户进入到/var/SDE/pg_64目录中,按下面的操作进行:





      说明:因为SDE在10.1中发生变化(SDE由Application Server和Command Line Tools组成,其中后者是可选部分,安装后者可以通过命令行对SDE进行操作),在这里只安装Application Server,根据提示就可以完成SDE的安装(安装目录:/var/pgsde/)。


2.2 配置环境变量


      在/home/sde/.bash_pfofile文件中写入SDE和Postgresql的环境信息,如下:





      说明SDEHOME为SDE安装的家目录,PGHOME为Postgresql的家目录。


2.3 编辑services.sde文件和/etc/services文件


      将$SDEHOME/etc目录下的services.sde文件esri_sde前面的“#”去掉,后面的5151是SDE的服务端口,可以根据需要修改,这里我保留默认,最终效果如下:





      利用root用户,在/etc/services文件中添加和service.sde文件中相同的内容,如下:


2.4 复制st_geometry.so

将ArcGIS for Desktop安装目录或者ArcGIS for Server 安装目录中\DatabaseSupport\PostgreSQL\Linux64下的st_geometry.so拷贝到$PGHOME/lib /postgresql/,并确保sde用户对st _geometry.so拥有755权限。





      注意:在windows上是将Windows64下的st_geometry.dll拷贝到postgresql安装的lib目录下,这里需要注意。
      如果不复制这个文件,那么在创建数据库的时候会遇到下面的错误:


2.5 创建SDE数据库

因为ArcGIS for Desktop是32位的,所以连接64位的数据库需要32位的数据库客户端,所以要在ArcGIS for Desktop的机器上安装相应数据库32位的客户端,关于更多信息请看(http://blog.csdn.net/arcgis_all/article/details/8202773)


      在ArcMap中利用Create Enterprise Geodatabase 工具创建SDE,如下:

2.6 启动服务


      SDE数据库创建完成后,在linux上使用(sde用户)sdemon –o start 命令启动服务,如下图:





      这里可能会遇到上面提示的错误,找不到libssl.so.6,用下面两个命令就可以搞定(切换到root用户):


            In-sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6


            ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6





      然后重新使用sdemon -o start 命令就可以搞定,如下图:





      可以查看状态,因为目前还没有数据库连接,这里显示的为0,如下:





2.7 创建ArcSDE 连接文件


      使用Create ArcSDE Connection File工具创建ArcSDE链接文件,如下图:





2.8 导入数据


      创建成功后,在Catlogu中找到该文件,然后导入一个数据,如下图:





2.9 使用pgAdmin查看


      用pgAdmin客户端连接到Postgresql数据库,可以看到已经有了SDE数据库和刚才导入进去的数据。

ArcGIS SDE 10.1 for Postgresql 服务连接配置的更多相关文章

  1. ArcGIS Server 10.1发布GP服务

    ArcGIS Server 10.1发布GP服务 ArcGIS Server 10.1发布GP服务确实更简单了,只是刚使用不怎么习惯.ArcGIS Server 10.1发布GP服务需要先在ArcCa ...

  2. ArcGIS Engine 10.2 如何发布服务

    http://blog.csdn.net/arcgis_all/article/details/17376397 1 ArcGIS Engine 10.2 如何发布服务 ArcGIS Engine的代 ...

  3. ArcGIS平台中PostgreSQL数据连接配置总结

    通常用户在使用要素服务时,要求数据必须是存放在空间数据库中的.同时,需要将数据库注册到ArcGIS for Server,这样在发布服务时就不需要进行数据拷贝,从而可以节省磁盘空间及服务发布时间.以下 ...

  4. Arcgis sde 10.1您不能创建在安装后的空间库,提示User has privileges required to create database objects.

    Geodatabase在10.1版本号也有较大的改进和更新,在用户体验和性能上都有变化,在实际的工作中可能会碰到各种奇怪的问题(事实上都是有原因的,须要我们对其工作机制有所了解才干避免其发生):近期须 ...

  5. ArcGIS Server 10.1发布要素服务(FeatureLayer server)时遇到的数据库注册问题

    在发布要素服务的最后一步遇到了一个问题: SEVERITY STATUS CODE DESCRIPTION NAME TYPE DATA FRAME High Unresolved 00090 Fea ...

  6. Postgresql 远程连接配置

    原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...

  7. PostgreSQL远程连接配置

    postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下: 1.postgresql.conf 将该文件中的listen_addresses项值设定为“* ...

  8. ubuntu 10.04 下 samba 服务的配置

    1. 安装 $ sudo apt-get install samba $ sudo apt-get install samba-common $ sudo apt-get install samb . ...

  9. ArcGIS Enterprise 10.7.1新特性:批量发布服务

    ArcGIS Enterprise 10.7.1提供了批量发布GIS服务的功能,能大大简化GIS系统管理员的工作量. 作为发布人员和管理人员,支持向Portal for ArcGIS添加云存储.文件共 ...

随机推荐

  1. javascript(五)验证

    <input id="domo"  type="text"> <script> function my_function(){ var ...

  2. Python之常用模块(待更新)

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  3. 使用VC++压缩解压缩文件夹

    前言   项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码,  都不是很称心, 现在把我自己实现的代码和大家分享. 要求: 1.使用Unicode(支持中文). 2.使用源代码.(不使用静态或 ...

  4. Android程序的目录结构

    本篇文章我们将介绍Android应用程序的目录结构.本目录下有如图的目录结构: 下面我们来一 一介绍: 1.     Src:该目录中存放的是该项目的源代码 2.     Gen:该目录下的文件全部都 ...

  5. android中设置TextView/Button 走马灯效果

    在Android的ApiDemo中,有Button的走马灯效果,但是换作是TextView,还是有一点差异. 定义走马灯(Marquee),主要在Project/res/layout/main.xml ...

  6. 一则简单演示样例看Oracle的“无私”健壮性

    Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  7. 使用模板类导致error LNK2019: 无法解析的外部符号

    原地址 1.定义模板类: template<class T> class Stack {....}; 2.定义模板成员函数: 每个函数头都要以相同的模板声明打头,并将类限定符改成:类名&l ...

  8. android Vibrator 用法

    private Vibrator mvibrator; 1.服务的句柄  mvibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);  或者 ...

  9. uva315(求割点数目)

    传送门:Network 题意:给出一张无向图,求割点的个数. 分析:模板裸题,直接上模板. #include <cstdio> #include <cstring> #incl ...

  10. 《C/C++专项练习》 — (3)

    序 第三次C/C++专项.嗯,要抗住打击,继续加油~ 错题分析与总结 1 . 在64位系统中.有例如以下类: class A { public: void *p1; private: void *p2 ...