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 your platform.
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.
A DIT base for Banyan always contains the group and organization names. For example:
sales@FictionalCo
The following example illustrates a partial name that is given to ct_connect:
fin_data
If a name does not contain the @
separator,
Client-Library appends the @
separator
and the current DIT-base value to the name to create a fully qualified name.
For example, the DIT base and partial name from the examples above yield
the following when combined:
fin_data@sales@FictionalCo
ct_connect assumes any name that
contains the @
separator
is a fully qualified name. In this case, ct_connect ignores
the DIT-base value.
The default DIT base for the Banyan directory driver is “SERVER@SYBASE”. 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.
When NDS is the connection’s directory service provider, the NDS software combines partial names with the DIT base. The Sybase-supplied NDS directory driver passes entry names and DIT-base settings unchanged to NDS. See your NDS documentation for the rules used to combine partial names with the DIT base. In Novell documentation, the DIT base is called a name context.
This example shows a DIT base for Novell NDS:
OU=testing.OU=eng.O=Fictional Incorporated
This example demonstrates a partial name that is given to ct_connect:
my_server
The default DIT base for the NDS directory driver may be specified in the directory driver configuration. Otherwise, the default DIT base is the name context setting for the user’s Novell login session. To override the default, call ct_con_props to set the CS_DS_DITBASE property.
With the NT 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 NT 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.