What is a direct connection to a geodatabase in SQL Server?
A direct connection to a geodatabase is one that is made using the database management system's (DBMS) connection methods and direct-connect drivers in the client application. The connection is made directly from the client to the DBMS without the use of an ArcSDE service. Direct connections are also known as two-tiered connections.
When you use a direct connection to the geodatabase, most 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.
Some examples of when you would use a direct connection include the following:
- You do not want to administer an ArcSDE service.
- The direct-connect architecture moves ArcSDE functionality to the desktop. This removes the ArcSDE load from the server and allows additional resources to be freed up for the DBMS, which means you get better scalability on the database server.
Direct connections can be faster if the server is heavily used, because processing takes place on the client machine. Rather than having to process the information on the server, which may be responding to requests from numerous other users at the same time, and send the information back to the client across the network, the client computer is typically only processing a few tasks at a time.
- If you want to use operating system authentication for your ArcGIS connections to an ArcSDE geodatabase for SQL Server, and ArcSDE and SQL Server are installed on separate servers, you must use a direct connection.
You might use an ArcSDE service connection rather than a direct connection to the geodatabase if your desktop machine does not have enough resources to handle the ArcSDE processes. You could have a mixed environment, in which those desktop computers that can manage the ArcSDE processes use a direct connection but those that cannot use an ArcSDE service.
ArcSDE writes error messages to the sdedc_<dbms>.log file. If you have the SDEHOME environment variable set, this file is written to the etc directory in this location. If you have an etc directory in your ArcGIS installation location, the file is written there. If you have neither of these, the log file is written to the temp directory.
What happens when a client application makes a direct connection to the DBMS in which an ArcSDE geodatabase is stored?
The following sequence of events occurs when an ArcSDE client application connects directly to the DBMS.
- The DBMS server detects local or remote connections. Each of the DBMSs supported by ArcSDE has its own method of accepting the connections of client applications. Make sure you are entering the connection information correctly. If you still cannot get connected, test the connection using the native SQL utility of the DBMS.
- The client application verifies that the ArcGIS Server license has been installed. If the client application queries a valid ArcGIS Server license, which is stored in the sde_server_config table, it acquires a connection to the database.