欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ArcGIS10.1自带的数据库客户端介绍

程序员文章站 2022-03-29 19:42:36
...

------------------------------------------------------------------------------------------ 那么,到底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有些例外)

ArcGIS10.1自带的数据库客户端介绍

以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包,里面包含如下文件

ArcGIS10.1自带的数据库客户端介绍

从上面可以看到版本为11.2.0.2而且有一点需要注意,虽然名称叫instanceClient,但是与我们通常下载的Oracle客户端(一般有600MB左右),那个安装也有一个Instance Client的选择项,但是一般我们都安装管理员版本。

ArcGIS10.1自带的数据库客户端介绍

我测试了一下使用这个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文件里面拷贝四个文件,这个四个文件可以从客户端获得

  • sp1us.msb
  • sp1zhs.msb
  • sp2us.msb
  • sp2zhs.msb

3:拷贝sqlplus.exe和sqlplus.sym到C:\client(ORACLE_HOME)

然后使用sqlplus命令就可以查询了,已经测试通过了。

----------------------------Linux环境下安装Oracle客户端-----------------------------

对Linux环境下,ArcGIS提供的Oracle客户端安装包包含一个RPM和一个ZIP包

解压所ZIP我们可以看到只有如下文件

ArcGIS10.1自带的数据库客户端介绍

首先需要在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%]
然后解压缩ZIP包,我们也同步的配置好相关的Sqlplus

前面的可以参考Windows的来配置TNSNAME.ora

然后创建/BIN和/LIB文件夹

拷贝已有的oracle客户端Linux相应位数的

/bin/sqlplus

/lib/sqlplus.a

/lib/sqlplus.so

然后将解压缩后的所有so文件也同步拷贝到/lib路径下,整理完毕后,目录结构如下:

ArcGIS10.1自带的数据库客户端介绍

然后配置相关的环境变量

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数据库报如下错误

ArcGIS10.1自带的数据库客户端介绍

所以还是需要安装SQL Server客户端才可以,而且对Windows 2008R2操作系统必须安装64Bit的客户端,32Bit的客户端安装出现如下问题

ArcGIS10.1自带的数据库客户端介绍

可见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
PostgreSQL的Linux参考
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客户端-----------------------------

关于其他IBM的两个数据库,用的不多,就不再介绍了。

-------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------