ArcSDE的直连

/*******************************************************************************************************/

//翻译自ArcGIS帮助文档里面的有关ArcSDE和oracl数据库直接连接的文档

//2010年7月26日

/*******************************************************************************************************/

 

Properties of a direct connection to an ArcSDE geodatabas

直接连接ArcSDE的属性

This topic contains the following information:

该主题包含下面的信息

Connecting directly from a client application to a geodatabase means communication between the database and client takes place via a direct-connect driver not through an ArcSDE service. It also means a lot of the processes that would have taken place on the server are now going to take place on your client machines.

从一个客户端的应用程序直接连接一个数据库意味着数据库和服务器端之间的交流是通过一个直接连接的驱动而不是通过一个ArcSDE服务。这个也意味这以前在很多需要在服务器上的处理现在都要在客户端来进行操作。。

 

 

The ArcSDE direct-connect drivers are built from(建于) the same software code that is used to build the ArcSDE service. The difference is the direct-connect drivers are built as dynamically linked libraries and are installed with and execute in the process space of the client application, whereas the ArcSDE service is built as an executable program that runs on the server machine.

ArcSDE的直连驱动是建立于用来创建SDE服务的相同的软件代码上的。这两者的区别是直连驱动被创建为一个DLL,并且当客户端的应用程序运行的时候才被加载安装以及运行,与此同时,ArcSDE服务被认为是运行在服务器端的一个可以执行的代码程序。

Since the direct-connect drivers are built from the same software code as the ArcSDE services, the same database configuration must be done as when setting up a database to use with an ArcSDE service. The same ArcSDE administrator and ArcSDE geodatabase system tables must also exist for direct connection configurations. You (or your administrator) must set these up prior(优先的) to any ArcSDE connection requests. Your client machines must be configured for network access.

因为直连是和ArcSDE服务用同样的软件代码写的,所以相同的数据库配置是必须要有的,就像使用ArcSDE服务来设置一个数据库一样的。相同的ArcSDE管理员以及ArcSDE数据库系统表也必须在为直接连接而存在。你(或者你的管理员)

必须首先考虑任何的ArcSDE连接服务。 你的客户端必须配置网络连接权限。

 

Some examples of when you would use a direct connection include:

一些你需要直接连接的情况

If you don't want to administer(管理) an ArcSDE service

The direct-connect database driver doesn't require the administration of the ArcSDE service. There is no intermediate (中间的)giomgr process to set up, configure, or start.

你如你不想管理一个ArcSDE服务。

数据库直接连接驱动不需要对ArcSDE服务进行管理,并且页没有设置,启动,配置等这些中间环节。

 

The direct connect database driver provides additional options for scaling a system.

The direct connect architecture moves the ArcSDE component functionality to the desktop. This removes the ArcSDE load from the server and allows additional resources to be freed up for the database management system (DBMS), which means you get better scalability on the database server.

数据库直连驱动增加了扩展系统的选项

直连驱动将SDE组件的功能移动到桌面上了。这就避免了ARCsde从服务器上加载并且允许额外的资源从数据局库管理系统哪里释放,这就意味着你在服务器上获得了更多的扩展。

 

 

Direct connections can be faster.

直接连接速度会更快。

Also because processing takes place on the client machine, processing may be faster than having to process the information on the server, which may be responding to requests from numerous other users at the same time, and sending the information back to the client across the network.

因为处理的过程在客户端的计算机上面,因此应该会比在服务器上处理信息会快些,因为,服务器要可能要在相同的事件同时负责多个服务达的请求,然后将相关的信息通过网络返回。

 

The direct connection configuration can be useful in failover environments.

在计算机故障转移的地方,直接连接配置会更加有用。

For example, it is easier to configure your system with Oracle Real Application Clusters (RAC) using the direct-connect driver.

比如:使用直接连接可能会更加容易配置你系统中的集群管理。

 

If you want to use operating system authentication(证明,鉴定 ) for your ArcGIS connections to an ArcSDE geodatabase for Oracle, DB2, Informix, or PostgreSQL.

如果你想使用操作系统鉴定一个用于ArcGISD到用于Oracle,db2,informix的ArcSDE地理数据库的连接

您必须使用直接连接到数据库的连接创建一个空间利用ArcGIS的经营体系认证,在甲骨文中,DB2,Informix的或PostgreSQL存储的地理数据库。

You must use a direct connection to create a spatial database connection using operating system authentication from ArcGIS to a geodatabase(地理数据库) stored in Oracle, DB2, Informix or PostgreSQL.

你需使用直接连接的方式创建一个空间数据库的连接,使用ArcGIS操作系统的认证体系,存储到oracle,db2,informix或者Postgresql地理数据库。

If you're connecting to an ArcSDE geodatabase for SQL Server Express

You must use a direct connection to these geodatabases.

   如果你想连接一个基于SQLServr上的ArcSDE地理数据库,那么你就必须使用直接连接的方式来连接这些地理数据库。

Some instances for which you would not use a direct connection include the following:

下面的一些情况是不需要使用直接连接的方式的

If your desktop machines don't have enough resources to handle the ArcSDE processes

如果你的桌面机器没有足够的资源去处理ArcSDE的过程。

If your ArcSDE geodatabase and your clients are not at compatible(兼容的) releases(版本)

If you are using releases prior(优先的、在前面的) to ArcGIS 9.3, client applications and ArcSDE must be running the same release. For example, if you have an ArcSDE 9.1 geodatabase, your ArcGIS Desktop and ArcIMS must also be 9.1. Beginning with ArcGIS 9.3, you can make a direct connection to an ArcSDE geodatabase that is at release 9.0, 9.1, 9.2, or 9.3.

如果你的ArcSDE地理数据库和你的客户端不是相关兼容的版本。

如果你事先已经安装来ArcGIS9.3版本的话,那么客户端应用程序以及ArcSDE就必须运行相同的版本。比如:如果你有一个ArcSDE9.1的地理数据库,你的ArcGIS Desktop和ArcIMS必须是9.1。 如果一开始你安装的ArcGIS 9.3系列的,那么你就可以直接连接一个9.0,9.1,9.2,9.3版本的ArcSDE地理数据库。

If you don't want to configure every client machine to make a direct connection

For most DBMSs, using a direct connection requires configuration on the client machines. For information on how to configure a client to make a direct connection, see Setting up clients for a direct connection.

如果你不想在每个客户端的机器上都进行配置直接连接SDE数据库。

对于大所述的数据库管理系统来说,使用一个直接连接就需要在客户端的计算机上进行配置。更过的关于如何配置一个客户端直接连接ArcSDE地理数据库请查看Setting up clients for a direct connection.

 

More details on the properties of direct connections are below, including a list of things needed or things that you should consider when using a direct connection. (Most apply only to ArcSDE geodatabases licensed under ArcGIS Server Enterprise.)

更多的关于直接连接的属性请看下面,包括一些列的当你使用直接连接的时候需要的事情以及需要你考虑的事情。

 

 

Direct-connect drivers

直接连接驱动

Direct-connect drivers provide the functionality to connect to and use spatial data in a DBMS. They exist as dynamically linked libraries in the bin directory (Windows operating system) or lib directory (UNIX/Linux operating systems) of your client application.

These drivers are automatically installed for ArcGIS (the whole product suite), ArcView 3.x Database Access, ArcIMS, ArcInfo Workstation, and MapObjects 2. If you are using a custom application built from the ArcSDE C API that is not an ESRI product, you may need to install the direct-connect drivers. You can install the drivers for the ArcSDE Developer Kit located in the ArcGIS Server Enterprise media kit. Check with the supplier of your custom application to find out if you need to install these drivers separately.

直连驱动提供了连接和使用数据库管理系统中空间数据的功能。他们是以动态连接库的形式存在于你的客户端的bin目录下(windows操作系统), 或者lib目录下(UNIT/LINUX操作系统)。

这些驱动是为来ArcGIS,ArcView3.x数据库,ArcIMS,ArcInfo工作站以及地图对象而自动安装的。如果你使用的是一个建立于ArcSDE C API的客户端应用程序,那么你就可能需要安装直连的驱动来。你这里直接安装位于ArcGIS Server位置用于ArcSDE的驱动开发包。检查你的应用程序的供应商,看看你是不是需要单独的安装这些驱动。

Database setup files

 

 

 

You need to install the ArcSDE component of ArcGIS Server Enterprise to get the database setup and administration files. If your site only uses direct connections, you do not need to start an ArcSDE service; all you need to do is install the ArcSDE component files and follow the postinstallation(安装后的) configuration instructions in the installation guide to set up the repository and authorize the software.

The administration files that get installed with the ArcSDE component of ArcGIS Server Enterprise—for example, sdesetup, sdeconfig, and sdedbtune—are useful for managing your database.

To get your database setup files, you need to install the ArcSDE component specific to your database and platform. Be sure to read the database-specific installation guide provided on the DVD and follow the postinstallation configuration instructions. However, ignore any instructions about creating the ArcSDE service; you don't need to do that if you will use direct connections exclusively(专门的).

For ArcSDE for SQL Server Express, administration, including geodatabase setup, is done through ArcCatalog. Therefore, there are no separate administration executables installed, such as sdeconfig.

你需要安装ArcGIS企业版的ArcSDE组件,来获取数据库的设置以及管理文件。如果你仅仅是直接连接,那么你就不需要启动SDE服务。你所需要做的仅仅是安装ArcSDE组件文件,并且根据安装后的配置文件向导来设置仓库以及文件的授权。伴随着ArcGIS Server企业版的ArcSDE的安装文件的安装,也安装来管理文件,比如:, sdesetup, sdeconfig, and sdedbtune,这些对你管理你的数据库都是非常有用的。

为来设置你的数据库安装文件,你需要安装适合你的数据库以及平台的ArcSDE安装文件。确保阅读在DVD中提供的特定数据库安装向导文件,并且遵从安装配置说明文件。尽管如此,不要去理会 任何关于如何创建ArcSDE服务的指导说明。

如果你使用直连的方式你就没有必要去做上面的这些东西。

对于基于SQL Server的ArcSDE服务,管理,以及地理数据库的安装都是通过ArcCatalog来完成的。 因此,这里没有单独的可安装的管理文件,比如:类似于SDE配置文件。

 

Installations on the client machine

Making a direct connection to most DBMSs requires that specific files be installed and configured on the client computer. They are as follows:

对于大都数的数据库直连需要在客户端的计算机上安装特殊的文件并且进行配置,他们如下所示:

 

Oracle

Each client machine on which direct connect is used must have an Oracle client installed and configured.

每一个使用直接连接的客户端计算机上都需要安装一个oracle的客户端,并对他进行配置。

 

Microsoft SQL Server

Microsoft Data Access Components (MDAC) must be on the client PCs.

If you intend to use ArcCatalog 9 or ArcView 3.3 with Database Access 2.1f, MDAC version 2.6 (SP1) or greater is required. If using ArcIMS 9 or ArcGIS 9 to direct connect, you must have MDAC 2.6 or higher.

ESRI recommends(推荐,劝告) you maintain the most up to date MDAC files on your server. Note that MDAC versions beyond 2.8 are included with updates to your operating system.

微软的数据库访问组件是必须要安装在客户计算机上面的。如果你想安装ArcCatalog9.0或者ArcView 3.3来访问数据库,那么MDAC或者greater是需要安装的。如果使用ArcIMS9或者ArcGIS 9进行直连,你需要安装2.6版本的MDAC或者更高的版本。ESRI推荐保持你的服务器维持MDAD的最高的版本。 需要注意的地方是,2.8以后的版本包括了同你的操作系统一起更新的功能。

 

DB2

Each client machine must be configured for remote database access. Use the DB2 Configuration Assistant on the database host to connect to a remote database.

每个客户端需要都需要为远程的数据访问进行配置。使用数据库服务器上的配置助手进行远程的数据库访问。

 

Client/Database compatibility(兼容的,和谐的)

In ArcGIS 9.1 and prior(优先的、在前面的) releases(发行,发布), when using direct connect, your client and ArcSDE component had to be on the same version, including the same service pack for most releases. For ArcGIS 9.2, your client and ArcSDE component just have to be at the same version—you don't have to have matching service packs.

ArcGIS 9.1版本以及在此之前发行的版本,当你使用直接连接的时候,你的客户端以及ArcSDE组件必须是同一个版本的,以及相同的服务包。而ArcGIS 9.2的时候,仅仅需要你的客户端以及SDE服务组件是一个版本的,而你的服务包可以不是一个版本的。

For example, you cannot make a direct connection from ArcMap 9 to a database still in an 8.3 configuration. You would have to run the 9 setup configuration on that 8.3 geodatabase to be able to use direct connect from the ArcMap 9 client. If you had installed ArcGIS Desktop 9 Service Pack 3, you would also need to apply ArcSDE 9 Service Pack 3 to the geodatabase.However, if you installed ArcSDE 9.2 Service Pack 3, you could still connect to it from ArcGIS Desktop 9.2 Service Pack 2.

比如来说:你不能在ArcMap9到一个仍然是8.3的配置的地理数据库之间建立连接。你必须在8.3的地理数据库上面运行9的配置文件这样才能在一个Arcmap9的客户端建立直接连接。如果你已经为ArcMap3安装来版本为3的服务包,那么你就必须安装ArcSDE9的版本为3的服务包。尽管如此,如果你安装来ArcADE9.2的版本为3的服务包,那么你仍然可以与ArcGIS9.2的版本为2的服务包之间建立连接。

 

Beginning with ArcGIS 9.3, you can make a direct connection from a 9.3 ArcGIS client (such as ArcGIS Desktop and ArcEngine) to a 9.3, 9.2, 9.1, or 9 ArcSDE geodatabase. To do this, you need to run a separate installation—the ArcGIS Pre 9.3 geodatabase direct connect setup—to get the libraries necessary to make a direct connection from a 9.3 client to an older release ArcSDE geodatabase.

从ArcGIS 9.3以后,你可以和如下的几个版本进行直连,从9.3的客户端到9.3,9.2,9.1,连接到相关的ArcSDE服务器。为了完成上面的操作,我们必须运行一个单独的安装文件,ArcGIS Pre 9.3 geodatabase direct connect setup,来获取直接连接所必须的一个类库,来创建一个从9.3的客户端到一个ArcSDE老版本地理数据库之间的连接。

 

However, if you are using an Informix DBMS, these connections are not possible. At ArcGIS 9.2 and earlier releases, ArcSDE for Informix used the 2.x version of the Informix Client SDK. Beginning with ArcGIS 9.3, the 3.00 version of Client SDK is required to make direct connections to the database. Since you cannot have multiple versions of the Client SDK on the same machine, this interoperability(互操作性) from an ArcGIS 9.3 client to previous release of the geodatabase is not possible with ArcSDE for Informix.

尽管如此,如果你正在使用的是一个Informix DBMS数据库管理系统,那么这些连接是不能实现的。在ArcGIS 9.2或者更早的版本,基于Informix的ArcSDE使用2.0版本的Informix客户端开发包。从ArcGIS 9.3版本以后,3.0版本的的客户端SDK就被要求能够进行和数据库进行直连。正是因为在同一台计算机上不能安装多个版本的客户端开发包,因此从ArcGIS 9.3客户端到以前版本的数据库之间的相互操作在基于Informix的ArcSDE之间是不能实现的。

 

 

Additionally, connections back to ArcSDE for Oracle8i are not supported. This is due to the fact that Oracle8i is no longer supported by Oracle.

The following table shows which versions of the client software can make a direct connection to which versions of the ArcSDE geodatabase.

另外,适用于Oracle8i的ArcSDE的背后连接是不支持的,这是因为这样的一个事实:oracle8i已经不在被Oracle支持了。下面的表格显示了什么版本的客户端软件可以与什么版本的ArcSDE地理数据库之间进行直连

 

To connect from a 9.3 client to an ArcSDE 9 or 9.1 geodatabase, these geodatabases must have the latest service pack or patch(补丁) applied. A 9.3 client can connect to the final release of ArcSDE 9.2, or any service pack level thereafter. To connect from a 9.2 client to a 9.3 ArcSDE geodatabase, you must apply the latest 9.2 service pack or patch to the client machine.

为来用一个9.3的客户端与一个9或者9.1版本的ArcSDE数据库建立直接连接,这些地理数据库必安装最新的服务包或者补丁。一个9.3的客户端可以与一个ArcSDE9.2最后的版本或者任何以后的服务包之间建立连接。为了建立一个9.2版本的客户端到9.3版本的ArcSDE地理数据库,你就需要安装最新的9.2的服务包或者补丁到客户端服务器上面。

 

 

Environment variables(变量)

Oracle, DB2, and Informix databases require certain environment variables be set on client machines to connect directly to the database. If you are using one of these databases, consult(请教、查阅) your DBMS documentation for instructions on which variables to set and how to set them.

ArcSDE applications making direct connections to a DBMS read the parameters from the SERVER_CONFIG table just like the ArcSDE service. However, not all initialization parameters that apply to the ArcSDE service apply to ArcSDE applications making a direct connection. For instance, TCPKEEPALIVE and MAXTIMEDIFF do not affect a direct connection.

//

Oracle,db2,以及Informix数据库都要求在客户端设置一些确定的环境变量来直接连接数据库,如果你使用上面之一的数据库,请查阅你的数据库管理系统的文档中有关需要设置什么变量以及任何设置这些变量的介绍。ArcSDE应用程序通过读取Server_config表中的变量,就像ArcSDE服务器名称来创建直连。尽管如此,并不是所有应用到ArcSDE服务的初始化变量能够应用到ArcSDE应用程序的服务直接连接中的。比如:TCPKEEPALIVE and MAXTIMEDIFF并不影响一个直连。

Error messages

ArcSDE writes error messages to the sdedc_<dbms>.log file. If you have the SDEHOME environment variable set, this file will be written to the etc directory in this location. If you have an etc directory in your ArcGIS installation location, the file will be written here. If you have neither of these, the log file is written to the temp directory.

ArcSDE将错误信息写入到sdedc_<dbms>。Log文件中。 如果你设置了SDEHOME环境变量,这个文件将会被写入到该位置下的ets目录下。 如果你在ArcGIS安装位置有一个etc的目录,这个文件就会被写到这里。如果你两个都没有,日志文件将会被写入到临时目录下面。

Operating system authentication(证明,鉴定)

If you want to connect to your geodatabase from ArcGIS using operating system authentication and your data is stored in an Oracle, DB2, Informix, or PostgreSQL database, you must use a direct connection to the database.

ArcSDE geodatabases for SQL Server Express automatically use operating system authentication and also automatically use a direct connection to the database.

如果你想使用操作系统的授权来与你的ArcGIS地理数据库之间建立连接,并且你的数据保存在一个Oracle,db2,informix或者一个Postgresql数据库,那么你就必须使用直接连接的方式连接到数据库。对于SQL Server的ArcSDE地理数据库自动的使用操作系统的认证,并且当然的自动使用直连来连接数据库。

原文地址:https://www.cnblogs.com/xingchen/p/1785413.html