本文是2013年时候参加ESRI竞赛,创建ArcSDE 10.1 for SQL Server时候出问题了,因此写了该文档。
由于一直忙于学习,忘了发布。今天一师弟也遇到同样问题,为此我觉得可能有不少人遇到该问题,
所以和大家一起分享一下,请大家批评指正。
1、创建地理数据库
1.1、打开地理数据库管理工具
在工具箱中新增了“地理数据库管理”(英文版显示:GeodatabaseAdministration)工具集,其中包含进行地理数据库管理操作的若干工具,如下图所示:
1.2、创建企业级地理数据库
双击打开“创建企业级地理数据库”工具,输入参数,如下图所示:
参数说明:
数据库平台:本文选择SQL_Server,毫无争议;
实例:需要填写SQL Server实例名,本文是“localhost”;
数据库:地理数据库名称,默认是sde,也可以填其他名称比如:本文中“sde1”;
授权文件:授权文件,即.ecp文件,一般和ArcGIS Server的授权文件是同一个;
其他就是输入数据库管理员,地理数据库管理员的密码。
设置好参数后,点击“确认”开始创建地理数据库,此过程即相当于原来的Post Install,将创建SDE系统表等。
创建完成后,可以在SQL Server Management Studio中查看结果,如下图:
如果参数设置正确,就能看到数据库已经多了sde库,其中有sde系统表。如果出现错误,除了检查输入的参数、许可文件之外,数据库连接配置也需要检查,
1.3常见数据库连接错误
如下图:
1.3.1、SQL Server版本不一致
如果数据库服务器上装了SQL Server2008 R2企业版,并且是SP3补丁,而我在客户端则是装的SQL Server Express,并且没有打补丁,所以连接会失败,创建地理数据库也就自然失败了。因此需要确保客户端和服务器端的SQL Server版本一致,能成功连接。
1.3.2、没打ArcGIS Desktop SP1补丁
如果服务器装了SQL Server 2012则需打ArcGIS Desktop SP1补丁,否则也会报以上错误。(这个问题是在师兄指点下,才发现的)
1.3.3实例名错误
网上有博主填写形式如:“服务器名/SQL Server实例名”,但我试过了,总是报访问DBMS服务器失败,但ArcGIS10.1帮助文档却也要求这样填写。如果按照帮助文档形式填写参数,结果还是失败的话。建议试一下,直接填写服务器名,我测试过,可以成功创建。
2、连接
地理数据库已经创建成功,接下来就可以连接到地理数据库了。ArcGIS 10.1中推荐使用直连方式连接,因此默认情况下没有创建SDE系统服务。
2.1、直连连接
直连连接比较简单,在“数据库连接”下面双击“添加数据库连接”,如下图:
弹出直连参数设置窗口,设置直连参数,如下图:
注意这里的Instance,和创建地理数据库时的需要保持一致,然后选择要连接的地理数据库,输入用户密码,点击OK,即可连接,如下图:
目前还是空库,接下来我们测试将Shapefile要素类导入这个SDE库中,结果如下:
说明直连方式已经可以正常使用ArcSDE库了。
2.2、 服务连接
除了推荐的直连方式,有时候我们还需要使用服务连接的方式,需要首先创建ArcSDE服务,然后在客户端以.sde连接文件的方式来连接地理数据库。
2.3、 创建ArcSDE服务
创建ArcSDE服务需要经过三个主要步骤:手动修改服务文件、命令行安装服务、启动服务。
首先是手动修改服务文件,包括ArcSDE的service.sde文件和Windows系统的service文件,如下面两个图:
更改services文件,文件路径如下:
C:\Windows\System32\Drivers\etc
在这两个文件中,分别添加“esri_sde 5151”并保存,如下图所示:
然后使用命令行创建ArcSDE服务,本例命令行如下:
sdeservice -o create -d SQLSERVER,localhost -psde -i esri_sde
执行结果如下图所示:
创建成功后即可启动服务,命令行如下:
Services.msc
执行后将要求输入sde用户密码,然后即可启动,如下图所示:
SDE服务已经启动,然后可以通过服务方式连接了。
2.4、创建服务连接文件
首先找到“创建ArcSDE连接文件”工具,如下图所示:
打开工具,输入参数,如下图所示:
这里需要设置SDE服务所在的机器名或IP(本例是localhost),SDE服务名称(本例是esri_sde或5151),此外输入数据库名称(本例是sde)以及用户名密码。
点击“确认”即可完成.sde服务连接文件的创建,然后到指定目录下找到连接文件,双击即可连接到地理数据库,如下图所示(上面直连测试中导入的数据清晰可见):
说明服务连接方式已经可以正常使用ArcSDE库了。
2013年7月18日星期四
JXUST GIS实验室 火艇