ArcSDE10.2在SQL Server上的配置与连接

  一. 为什么要用ArcSDE

  ArcSDE 允许你利用现有的DBMS 来存储和管理空间数据。ArcSDE 是开放性的,它可以与许多不同的数据库协同工作,包括Oracle,Informix,IBM DB2 和Microsoft SQL Server—规模从工作组到大型企业级数据库。
  ArcSDE 为GIS 和DBMS 提供接口,它能以表的形式来管理空间数据。在一个异构的数据库环境里(使用了不同部门级或个人级的数据库系统),ArcSDE 为空间信息提供了一个通用模型。它使你能充分利用DBMS 为整合你的GIS 信息和部门中其他的数据的设备。它使用户可以利用DBMS 来同时管理空间信息和属性信息。

  二. ARCSDE10.2安装过程
  
  项目中用到了ArcSDE进行空间数据(矢量、栅格)的管理,因为Desktop安装的是10.2版本,所以ArcSDE对应的版本也选择了10.2,本文就为大家介绍如何安装、配置和连接ArcSDE 10.2,测试数据库选择的是Microsoft SQL Server 2008 R2 ,操作系统是Windows 7 x64,机器名叫USER-20160805WK,与ArcSDE的Server服务器名一致。
  首先要需要安装Microsoft SQL Server 2008 R2与ArcSDE 10.2,需要注意的是ArcSDE 10.2的安装包独立于ArcGIS Desktop,需要单独下载。记得勾选ArcSDE for Microsoft SQL Server。安装过程一只Next就可以了,没什么好说的。

             ArcSDE10.2在SQL Server上的配置与连接_第1张图片

  三. ARCSDE10.2的安装后配置
  3.1 创建地理数据库
   首先我们需要创建一个地理数据库。ArcSDE 10.2的安装配置与10.1版本相似,同样取消了Post Install向导,很多之前的管理操作改为使用地理处理工具(ArcMap、ArcCatelog)来执行。这里我使用的是的是ArcMap的创建企业级地理数据库(Create Enterprise Geodatabase )工具来创建地理数据库。
ArcSDE10.2在SQL Server上的配置与连接_第2张图片
ArcSDE10.2在SQL Server上的配置与连接_第3张图片
ArcSDE10.2在SQL Server上的配置与连接_第4张图片

Database Platform:SQL_Server
Instance:与主机名相关,这里是“USER20160805WK\SQLEXPRESS”;
Database:地理数据库名称,默认是sde,也可以填其他名称; Authorization
File:授权文件,即.ecp文件,一般和ArcGIS Server的授权文件是同一个;

  其他就是输入数据库管理员,地理数据库管理员的密码。
  设置好参数后,点击OK开始创建地理数据库。失败的话会有提示。

ArcSDE10.2在SQL Server上的配置与连接_第5张图片
 
   创建完成后,将生成SDE系统表,可以在SQL Server Management Studio中查看结果,如下图:
ArcSDE10.2在SQL Server上的配置与连接_第6张图片

  3.2 SDE直连
   地理数据库已经创建成功,接下来就可以连接到地理数据库了。ArcGIS 10.2中推荐使用直连方式连接,因此默认情况下没有创建SDE系统服务。服务器连接相对复杂,因此推荐使用直连的方式。利用ArcCatalog进行直连,步骤如下:
ArcSDE10.2在SQL Server上的配置与连接_第7张图片
ArcSDE10.2在SQL Server上的配置与连接_第8张图片
    
  连接成功标识如下: 
这里写图片描述

  3.3 服务器连接
  我们要做的首先是创建SDE服务,这里需要修改两个配置文件,添加SDE端口 
  首先修改C:\Program Files\ArcGIS\ArcSDE\sqlexe\etc\services.sde,在底部添加“esri_sde 5151/TCP”并保存
ArcSDE10.2在SQL Server上的配置与连接_第9张图片
  接着修改系统文件C:\Windows\System32\drivers\etc\services,在最底部添加同样的内容
ArcSDE10.2在SQL Server上的配置与连接_第10张图片

  修改过以上两个配置文件后,打开CMD窗口,创建SDE服务实例如下图所示
ArcSDE10.2在SQL Server上的配置与连接_第11张图片

  第一条命令为 sdeservice -o create -d SQLSERVER,前面设置的实例名 -p sde -i 前面修改的系统文件里的服务名
  第二条命令sdemon -o start,要求输入密码,密码为3.1创建地理数据库时设置的密码
  看到下面“ArcSDE Instance esri_sde started Thu Nov”表明服务器连接搭建成功
  四. 在二次开发平台上连接ArcSDE
ArcSDE10.2在SQL Server上的配置与连接_第12张图片

  我在系统中采用了服务器链接的方式,方法如下:

 public void ConnectSDE() 
        {
            IPropertySet propertySet = new PropertySetClass();
            propertySet.SetProperty("server", server);
            propertySet.SetProperty("instance", service);
            propertySet.SetProperty("user",userName);
            propertySet.SetProperty("password",passWord);
            propertySet.SetProperty("version","SDE.DEFAULT");
            IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactory();
            //打开sde空间
            workspace = workspaceFactory.Open(propertySet,0);

        }

  五. 安装过程中可能遇到的问题

  1.ERROR in checking system st_geometry type (1).
  解决办法:查看是不是安装了ArcSDE10.2.2,卸载10.2.2安装10.2即可

你可能感兴趣的:(C#,sql-server,ArcEngine开发笔记)