ArcGIS10.1如何连接数据库(转载)

作者&投稿:揣平 (若有异议请与网页底部的电邮联系)
~
ArcGIS 10.1如何连接数据库 最近在使用ArcGIS 10.1的数据库,在使用的过程中发现了跟以往不太一样的地方,在这里将自己的心得和想法跟大家分享一下(使用Postgresql),根据使用过程,我将内容分为两个部分(这两个部分,是我在使用完分出来的,并重新整理,




ArcGIS 10.1如何连接数据库
最近在使用ArcGIS 10.1的数据库,在使用的过程中发现了跟以往不太一样的地方,在这里将自己的心得和想法跟大家分享一下(使用Postgresql),根据使用过程,我将内容分为两个部分(这两个部分,是我在使用完分出来的,并重新整理,其中穿插我自己的想法,欢迎大家跟我们一起交流。),10.1已经不需要安装arcgis sde了,可以通过工具直接在Oracle上建立空间数据库,并且直接链接。

如何使用直连方式连接数据库
1, ArcGIS 10.1 统一了数据库连接,也就是不区分是空间数据库连接还是通过OLEDB方式的关系型数据库连接



左图为10.1下的截图,右图为10.0下的截图

2, 在Catalog中只能采用直连方式;



3, ArcGIS 10.1版本中,Esri提供的安装介质不在包含Postgresql(以前的是包含的);

4, 安装Postgresql,官方给的软件要求是64位数,而且所有的企业级数据库都是64位(这应该和Server有关系吧,因为Server 10.1是纯64位,在桌面软件的DatabaseSupport目录中给出的几个dll都是64位,这几个dll 后面会用到,官方给的软件需求如下:

Database

Supported Operating Systems

Minimum OS Version

Maximum OS Version

PostgreSQL 9.0.5 (64-bit)

Red Hat Enterprise Linux Server 5 (64-bit)

Update 7

Red Hat Enterprise Linux Server 6 (64-bit)

SUSE Linux Enterprise Server 11 (64-bit)

SP1

Windows Server 2003 Standard, Enterprise, and Datacenter (64-bit [EM64T])

SP2

SP2

Windows Server 2008 R2 Standard, Enterprise, and Datacenter (64-bit [EM64T])

SP1

5, 配置PostgreSQL的客户端。因为直连方式要求ArcSDE的客户端必须安装数据库的客户端类库,所以首先需要获取PostgreSQL的客户端。ArcGIS Desktop是32位软件,需要的是32位的PostgreSQL类库。找到PostgreSQL的客户端,或者在别的机器上将32位的 libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll, and ssleay32.dll文件拷贝到Desktop 安装目录的bin目录下;

6, 拷贝 st_geometry.dll,将Desktop 安装目录下的DatabaseSupport/PostgreSQL/Windows64(看到64了吧)目录下,拷贝st_geometry.dll文件到PostgreSQL的lib目录。在PostgreSQL中创建Geodatabase时必须用到此类库;

7, 配置pg_hba.conf,修改PostgreSQ 的pg_hba.conf文件,添加“host all all 0.0.0.0/0 md5”(关于该文件的配置,可以参阅相关资料);

8, 在安装完SDE后,发现没有以往的post界面,在10.1中,对于创建企业级Geodatabase都采用工具箱中提供的工具,换句话说,以前的post被Toolbox中的一堆工具替代;



9, 创建地理数据库

10.1在创建地理数据库的时候,提供了三个,Oracle,SQL Server和Postgresql,我们用这个工具创建地理数据库,这个过程相当于早起的POST过程,创建数据库并写入一堆系统表等,创建界面如下图:



创建成功后就可以在pgAdmin中看到sde这个数据库,并且看到很多系统表,如下图:



10, 连接地理数据(直连);

在上面说了ArcGIS 10.1对数据库连接做了统一,那如何判断是关系型数据库还是空间数据库呢?其实这点并不难,因为在创建空间数据库的时候,我们同时创建了用户名和密码,那么用这个用户名连接,并选择创建的这个数据库,那么这个数据库就是空间数据库,连接界面如下图:



连接成功后,我在数据库里创建了要素数据集添加了几个数据,做了一个拓扑分析(做这个的目的不是为了做拓扑,而是为了验证能否做拓扑分析,所以拓扑分析的结果我们不做讨论),结果如下:



同理,做了一个几何网络,效果如下:



现在我们想一个问题,上面我们使用的是直连的方式访问数据库,大家觉得是否缺少什么呢?我们会想以前如何使用数据库的,首先装了关系型数据库(Postgresql),这一步我们有了,然后就是安装ArcGIS SDE for postgresql,这一步我们没有,然后就是创建数据库,连接数据库。从整个过程来看,我们没有安装SDE,那为什么也可以创建空间数据库呢?

这也是我自己发现的一个,在开始的时候,我的确是安装了SDE,但是我发现这个安装不想ArcGIS 10 或者之前的弹出一个post的界面,装了之后什么反应都没有,我去安装目录下看了看,发现这个安装其实就是解压了一些东西,而我的空间数据库还没有建立呢?再后来发现连接数据库的时候,没有服务这个选项,当初我就觉得这个安装跟我连接数据库没有关系,于是卸载了,根据:http://resources.arcgis.com/en/help/main/10.1/index.html#/Setting_up_a_geodatabase_in_PostgreSQL/002p00000001000000/仔细看了一遍,发现这个过程的确不安装SDE是可以的,跟售后的同事确认了下,得出的结论:如果是使用直连方式,ArcGIS 10.1 是不用安装SDE的任何组件。新的问题来了,我们知道在以前的版本中SDE还有一种方式就是服务连接,那如何使用服务连接呢?

如果细心的话,我们可以发现在安装SDE的时候,有两个组件让我们安装:



根据组件右边的描述,我们知道这个安装就是针对服务连接的,也就是说如果要使用服务方式连接,就需要安装SDE,如何创建服务,如何使用服务连接(我们明显看到连接中根本就没有服务这个选项)就是我们下来要讨论的问题。

如何使用服务的方式连接数据库
服务连接的额外步骤

安装ArcSDE for PostgreSQL 10.1;
修改ArcSDE安装目录中services.sde文件和Windows中的hosts文件,分别增加“esri_sde 5151/tcp”记录;
创建ArcSDE服务。分别键入以下两个命令以完成在注册表中创建服务的工作:sdeservice -o create -d POSTGRESQL,postgresql-x64-9.0sdeservice -o register -d POSTGRESQL,postgresql-x64-9.0 -r ADMIN_DATABASE -v sde
启动服务。可以用“sdemon –o start”命令或从Windows服务面板中启动ArcSDE服务;


创建连接。在catalog中只能创建直连服,因此需要使用新的Create ArcSDE Connection File GP工具来创建ArcSDE服务连接文件。创建成功后,在catalog中找到这个连接双击就可以打开。


通过这个工具,如果我们的数据库是ArcGIS 10 或者之前的,并且采用服务的方式,那么在使用10.1的时候,应该用这个工具吧(没有测试,根据向下兼容,我自己猜想)



水利水电注册工程师基础考试考哪些内容
十、水力学10.1 水静力学静水压强 绝对压强 相对压强 真空及真空度 作用于物体上的静水总压力10.2 液体运动的一元流分析法恒定流与非恒定流 迹线与流线 流管 过水断面 流量 断面平均流速 恒定一元流连续性方程 能量方程式 渐变流 急变流10.3 层流、紊流及其水头损失湿周 水力半径 均匀流 非均匀流 沿程水头损失 达...

哪位高人知道水利水电工程师都考哪些内容?
十、水力学10.1 水静力学静水压强 绝对压强 相对压强 真空及真空度 作用于物体上的静水总压力10.2 液体运动的一元流分析法恒定流与非恒定流 迹线与流线 流管 过水断面 流量 断面平均流速 恒定一元流连续性方程 能量方程式 渐变流 急变流10.3 层流、紊流及其水头损失湿周 水力半径均匀流 非均匀流 沿程水头损失 达西...

防城区18168935091: ArcGIS 10.1 如何连接数据库 -
底胁复方: arcgis10.1支持3种数据库平台,sql server ,PostgreSQL和oracle,在arcmap界面下的toolbox工具-》数据管理工具-》地理数据库管理-》创建企业级地理数据库如下图,然后填写数据库用户密码等其他选项即可

防城区18168935091: ArcGIS10.1桌面怎么使用ArcSDE服务连接 -
底胁复方: 首先,确保用户使用的是全新的ArcGIS10.1环境,而且以比较典型和常见ArcGIS10.1桌面和数据库和ArcSDE10.1是安装在一台机器这种环境为例加以说明.如果进行了桌面直连创建了ArcSDE库之后,确保ArcSDE的软件包安装齐全.那么需...

防城区18168935091: 如何把arcgis连接到server新建的数据库
底胁复方: 1、ArcGIS10.1统1了数据库连接,也就是不辨别是空间数据库连接还是通过OLEDB方式的关系型数据库连接2,在Catalog中只能采取直连方式;3,ArcGIS10.1版本中,Esri提供的安装介质不在包括Postgresql(之前的是包括的);4,安装Postgresql,官方给的软件要求是64位数,而且所有的企业级数据库都是64位(这应当和Server有关系吧,由于Server10.1是纯64位,在桌面软件的DatabaseSupport目录中给出的几个dll都是64位,这几个dll后面会用到,

防城区18168935091: arcgis数据库用的什么数据库系统 -
底胁复方: 如何使用直连方式连接数据库 1, ArcGIS 10.1 统一了数据库连接,也就是不区分是空间数据库连接还是通过OLEDB方式的关系型数据库连接 左图为10.1下的截图,右图为10.0下的截图 2, 在Catalog中只能采用直连方式; 3, ArcGIS 10.1版本中...

防城区18168935091: 如何采用Local方式连接到ArcGIS Server -
底胁复方: 在使用ArcGIS Server ArcObjects API的时候,一般都需要首先以local方式连接到GIS Server,那么在9.2版本中有两个类可以连接到GIS Server.一个是ESRI.ArcGIS.Server.GISServerConnectionClass类,另一个是ESRI.ArcGIS.ADF.Connection...

防城区18168935091: 如何使用arcgis sde 10.2 -
底胁复方: 如果是连接数据库的话,建议就不要使用sde了,arcgis从10.1就可以直接连接数据库了

防城区18168935091: 如何在arcgis中建立数据库
底胁复方: 很简单,在ArcGIS中使用直连,最简单和常用的工具莫过于ArcCatalog.打开ArcCatalog,找到Database connections,选择添加空间数据库连接项:

防城区18168935091: ArcGis 怎么用sql数据库建立的表 -
底胁复方: 是如何连接sql数据库吗,那就你可以去看看ArcGIS中的ArcSDE这个软件,可以和Oracle、sql server、DB2等数据库结合起来管理数据.如果是建表的语言,那就是下面的例子 create table 表名(id int,name char(10),age int)

防城区18168935091: 在ArcGIS里怎样连接Microsoft Access 2007(ACCDB)? -
底胁复方: ACCDB是Access2007创建和保存Access数据库的默认格式.连接Microsoft Access database比较好的方式,既不是通过MDB或ACCDB,而是通过OLEDB.很多用户通过ArcMap的添加数据对话框直接连接到MDB文件.虽然在很多时候,都...

防城区18168935091: arcgis server 10.2.1怎么连接oracle12c -
底胁复方: 需要安装ArcSDE for Oracle,然后设置相关地理空间数据库配置,一般情况下连接用户名为sde, 配置完成后,arcgis server 发布要素服务,数据来源是地理空间数据库.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网