------------------------------------------------------------------------------------------ 那么,到底ArcGIS提供的数据库客户端是什么样子的?今天已经把这个光盘搞出来了,方便大家提前瞅瞅! 光盘提供的客户端还是包括传统支持的Oracle、SQLServer、
那么,到底ArcGIS提供的数据库客户端是什么样子的?今天已经把这个光盘搞出来了,方便大家提前瞅瞅!
光盘提供的客户端还是包括传统支持的Oracle、SQLServer、PostgreSQL、IBM DB2、IBM Informix,没有支持云计算的(关于云计算数据库也不太明白),而且根据环境也有32Bit和64Bit的区分,也有Windows、Linux操作系统的区分。
注意:ArcSDE10.1已经是64Bit软件了,为什么还需要32Bit的数据库客户端呢?
在ArcGIS10.1软件中,ArcGIS Server10.1是64Bit的软件,但是ArcGIS Desktop10.1和ArcGIS Engine10.1等我们常用的软件还是32Bit的,而且ArcGIS10.1也默认是直连,所以使用哪种多少位的客户端直连ArcSDE10.1就需要使用相应位数的数据库客户端(SQL Server有些例外)
以Oracle为例:
----------------------------Windows环境下安装Oracle客户端-----------------------------
Oracle客户端其实和该链接下的客户端一样,稍微有些区别:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
ArcGIS提供的Oracle客户端的名称:instantclient-basic-windows.x64-11.2.0.2.0
解压缩ZIP包,里面包含如下文件
从上面可以看到版本为11.2.0.2而且有一点需要注意,虽然名称叫instanceClient,但是与我们通常下载的Oracle客户端(一般有600MB左右),那个安装也有一个Instance Client的选择项,但是一般我们都安装管理员版本。
我测试了一下使用这个Instance Client并不支持(不知道是我的问题还是真的不支持,留个尾巴等待一会解决吧)
言归正传,ArcGIS提供的Oracle包其实就是一个压缩包,到使用过程中直接解压缩即可
1:选择一个固定的路径,解压缩到该路径下,例如:C:\client
2:在WIndows的环境变量PATH添加相关的路径
3:在该路径下创建C:\client\network\admin文件夹,然后创建一个TNSNAME.ora添加
ORCL_165 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.165)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
4:在进行ArcGIS Desktop直连时记录相关的网络服务名(上例为orcl_165)即可
----------------------------Windows环境下安装Oracle客户端以及SQLPLUS---------------
感觉这个包少了一个SQLPLUS,我们也可以自己解决。
首先从完全Oracle的客户端或者服务器端拷贝点相关东西即可(因为我已经有环境安装了下载完整版本的oracle,所以直接拷贝里面的相关文件即可)。
特别注意位数的问题
1:在环境变量里面添加ORACLE_HOME,比较前面是在PATH里面添加相关路径
2:创建新的文件夹C:\client\sqlplus\mesg
然后从在mesg文件里面拷贝四个文件,这个四个文件可以从客户端获得
3:拷贝sqlplus.exe和sqlplus.sym到C:\client(ORACLE_HOME)
然后使用sqlplus命令就可以查询了,已经测试通过了。
----------------------------Linux环境下安装Oracle客户端-----------------------------
对Linux环境下,ArcGIS提供的Oracle客户端安装包包含一个RPM和一个ZIP包
解压所ZIP我们可以看到只有如下文件
首先需要在Root用户下来运行rpm包
[oracle@RedHat ~]$ rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm error: can't create transaction lock on /var/lib/rpm/__db.000 [root@RedHat oracle]# chmod 777 oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm [root@RedHat oracle]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm Preparing... ########################################### [100%] 1:oracle-instantclient11.########################################### [100%]
前面的可以参考Windows的来配置TNSNAME.ora
然后创建/BIN和/LIB文件夹
拷贝已有的oracle客户端Linux相应位数的
/bin/sqlplus
/lib/sqlplus.a
/lib/sqlplus.so
然后将解压缩后的所有so文件也同步拷贝到/lib路径下,整理完毕后,目录结构如下:
然后配置相关的环境变量
PATH=$PATH:$HOME/bin export PATH export ORACLE_HOME=/home/oracle/instantclient-basic-linux32-11.2.0.2.0/instantclient_11_2 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH LD_LIBRARY_PATH=/usr/lib:/lib:$ORACLE_HOME/lib export LD_LIBRARY_PATH
[oracle@RedHat ~]$ sqlplus sde/sde@orcl SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 18 14:10:38 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select * from version; MAJOR MINOR BUGFIX ---------- ---------- ---------- DESCRIPTION -------------------------------------------------------------------------------- RELEASE SDESVR_REL_LOW ---------- -------------- 10 0 0 for Oracle11g Build 1937 Tue Aug 16 16:08:18 2011 100001 93001
如果感觉上面的非常麻烦,完全可以下载一个完整的Oracle Linux的客户端来安装
详细参考:http://blog.csdn.net/linghe301/article/details/7766472
----------------------------SQL Server客户端-----------------------------
对SQLServer数据库来说其实没有什么,因为ArcGIS Desktop桌面和Server安装后自带相关的包。
ArcGIS Desktop 10自带的有SQLServer的Native Client组件
但是ArcGIS Desktop10.1还是需要用户来安装,一个新的操作系统下安装ArcGIS Desktop10.1直连SQLServer数据库报如下错误
所以还是需要安装SQL Server客户端才可以,而且对Windows 2008R2操作系统必须安装64Bit的客户端,32Bit的客户端安装出现如下问题
可见SQL Server和Oracle数据库差别还是比较大的。
----------------------------PostgreSQL客户端-----------------------------
对PostgreSQL来说,提供了64Bit的数据库端的安装程序(9.0.5版本),也提供相关的客户端,这个客户端比较好,也就是几个DLL,用户可以将这些DLL拷贝到
C:\Program Files (x86)\ArcGIS\Desktop10.1\bin下即可。
PostgreSQL 的Windows参考
Please unzip the file and place the libraries in the bin folder of the client application that you would like to use to connect to PostgreSQL 9.0.5. Windows 32-bit PostgreSQL 9.0.5 Client Libraries: Libpq.dll Libiconv-2.dll Libeay32.dll Libintl-8.dll Ssleay32.dll Place these files in the bin folders of the following Windows 32-bit Esri client applications: ArcGIS for Desktop: C:\Program Files\ArcGIS\Desktop10.1\bin ArcGIS Engine: C:\Program Files\ArcGIS\Engine10.1\bin Windows 64-bit PostgreSQL 9.0.5 Client Libraries: Libpq.dll Libeay32.dll Libintl.dll Ssleay32.dll Place these files in the bin folders of the following Windows 64-bit Esri client applications: ArcGIS for Server: C:\Program Files\ArcGIS\Server\bin
The following RPM packages install PostgreSQL client libraries and checks for dependencies. The client libraries are used when an ArcGIS for Server, ArcGIS Engine or ArcGIS Runtime client is installed on Linux and needs to connect directly to an enterprise geodatabase on PostgreSQL or PostgreSQL database. Install the rpm appropriate to your operating system, and be sure the ArcGIS for Server, ArcGIS Engine and ArcGIS Runtime client's bin directories have access to this library. RHEL 5 32bit PostgreSQL 9.0.5 Client Libraries: postgresql90-libs-9.0.5-1PGDG.rhel5.i386.rpm RHEL 5 64bit PostgreSQL 9.0.5 Client Libraries: postgresql90-libs-9.0.5-1PGDG.rhel5.x86_64.rpm RHEL 6 32bit PostgreSQL 9.0.5 Client Libraries: postgresql90-libs-9.0.5-1PGDG.rhel6.i686.rpm RHEL 6 64bit PostgreSQL 9.0.5 Client Libraries: postgresql90-libs-9.0.5-1PGDG.rhel6.x86_64.rpm The rpm will install: Libpq.so and check for all necessary dependencies. Have the library be accessible to the bin directory of the following Linux 32-bit Esri client application: ArcGIS Engine: <...>/arcgis/engine10.1/bin </...>
关于其他IBM的两个数据库,用的不多,就不再介绍了。
-------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------