ArcGIS Server Banner

Properties of a direct connection to an ArcSDE geodatabase

Properties of a direct connection to an ArcSDE geodatabase

Release 9.3 E-mail This TopicPrintable VersionGive Us feedback

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. In addition, certain limits that would be enforced by ArcSDE when making a connection through an ArcSDE service, such as password length, are instead enforced by the DBMS.

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.

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.

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

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

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.

Geodatabase setup files

You need to install the ArcSDE component of ArcGIS Server Enterprise to get the geodatabase 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 geodatabase.

To get your geodatabase 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 do not 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.

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.

Microsoft SQL Server

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

If you intend to use ArcCatalog 9.0 or ArcView 3.3 with Database Access 2.1f, MDAC version 2.6 (SP1) or greater is required. If using ArcIMS 9.0 or ArcGIS 9.0 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.

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.

Informix

Each client machine where direct connect will be used must have the Informix Client SDK 3 application installed. Client machines must also have the SetNet32 application installed, which comes with the Informix Client SDK application.

The following table shows which client software you need depending on the operating system you are using:


Client SDK Operating System
CSDK 3.00.HC2 HP-UX
CSDK 3.00.TC2 Windows
CSDK 3.00.UC2 IBM AIX
CSDK 3.00.UC2 Sun Solaris

PostgreSQL

If you make a direct connection from an ArcGIS client, such as ArcGIS Desktop, no additional installation is needed on the client machine. If, however, you want to connect from a third-party client, each client machine from which you make a direct connection to the database must have the appropriate connectivity driver (such as psqlODBC or JDBC) installed and configured. Consult the documentation for your third-party software for information on the appropriate driver.

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.

For example, you cannot make a direct connection from ArcMap 9.0 to a database still in an 8.3 configuration. You would have to run the 9.0 setup configuration on that 8.3 geodatabase to be able to use direct connect from the ArcMap 9.0 client. If you had installed ArcGIS Desktop 9.0 Service Pack 3, you would also need to apply ArcSDE 9.0 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.

Beginning with ArcGIS 9.3, you can make a direct connection from a 9.3 ArcGIS client (such as ArcGIS Desktop and ArcGIS Engine) to a 9.3, 9.2, 9.1, or 9.0 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.

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 the 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 releases of the geodatabase is not possible with ArcSDE for Informix.

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.

Client/Server direct connect support

To connect from a 9.3 client to an ArcSDE 9.0 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.

Environment variables

DBMS 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 when connecting from a client machine to the database.

ArcSDE variables

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.

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.

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.

See Also

  • An overview of ArcSDE geodatabase connections