A Directory Information Tree base, or DIT base, is an intermediate node in a directory tree used to qualify partial entry names. An application’s DIT base setting is similar in concept to an application’s current working directory in a hierarchical file system.
For any directory source other than the interfaces file, an application can specify a DIT base by setting the CS_DS_DITBASE connection property (see “Base for directory searches”).
ct_connect uses the DIT base to resolve partial server names. An application specifies a server name for ct_connect in one of two ways:
By specifying the fully qualified name, or
By setting the CS_DS_DITBASE connection property and specifying a name relative to the CS_DS_DITBASE node.
Some directory service providers provide a special name syntax to indicate that an entry is fully qualified. When using these directory providers, the application overrides the current DIT base.
The sections below give examples of how the DIT base is combined with partial names. The rules vary by directory service provider. If your directory service provider is not listed, see the Open Client and Open Server Configuration Guide for Microsoft Windows or the Open Client and Open Server Configuration Guide for UNIX.
With DCE CDS as the directory provider, the DIT base may be a cell-relative name or a global name. If a global name is used, it must contain enough information to completely identify a cell.
The following two examples illustrate DIT-base settings for DCE CDS. The first example identifies a DIT base within the current DCE cell:
/.:/dataservers
The second example identifies a DIT base
in the cell sales.fictional.com
by
specifying a global name:
/.../sales.fictional.com/dataservers
The following example shows a partial name that is passed to ct_connect (as the server_name parameter):
sybase/test_server
ct_connect combines the DIT base and the value of the server_name as follows:
dit_base_value/server_name
For example:
/.:/dataservers/sybase/test_server
or
/.../sales.fictional.com/dataservers/sybase/test_server
Client-Library appends a slash (/
)
and the server_name value
to the DIT base. The DIT base
cannot end with a slash, and the server_name value
cannot begin with a slash.
Client-Library ignores the DIT base when server_name contains special syntax that indicates a fully qualified name. This syntax is:
A cell-relative qualified name (server_name begins with “/.:”), or
A globally qualified name (server_name begins with “/...”).
In either of these cases, server_name is considered to be a fully qualified name, and ct_connect ignores the DIT base.
The default DIT base for the DCE CDS directory driver is:
/.:/subsys/sybase/dataservers
This default may be overridden by the directory driver configuration. To override the configured default, call ct_con_props to set the CS_DS_DITBASE property.
With the Registry as the connection’s directory service provider, ct_connect appends a backslash “\” and the server_name value to the DIT base value. The DIT base cannot end with a backslash, and a server_name value that represents a partial name cannot begin with a backslash.
This is an example of a DIT base for the Windows Registry:
SOFTWARE\SYBASE\SERVER
This an example of a partial name that is given to ct_connect:
dataserver\fin_data
These are combined to yield:
SOFTWARE\SYBASE\SERVER\dataserver\fin_data
The default DIT base for the Registry directory driver is
SOFTWARE\SYBASE\SERVER
This default may be overridden by the directory driver configuration. To override the configured default, call ct_con_props to set the CS_DS_DITBASE property.
Names are considered fully qualified when they begin with the DIT base value. For example, if the DIT base is “SOFTWARE\SYBASE\SERVER”, then the following is a fully qualified name:
SOFTWARE\SYBASE\SERVER\debug\fin_data
All DIT base nodes are located relative to the “\HKEY_LOCAL_MACHINE\” key.
To specify a DIT base node from another machine’s Registry, include the machine name and a colon (:) in the DIT base value. For example, the following DIT base value refers to the machine queenbee’s registry:
queenbee:SOFTWARE\SYBASE\SERVER
The CS_DS_DITBASE property is not supported when the connection’s directory source is the interfaces file.