Send feedback on this topic.
Teradata.Client.Provider
Client Attributes
.NET Data Provider for Teradata > Developer's Guide > Working with the Data Provider Features > Connecting To Teradata > Client Attributes

Beginning in Teradata Database 14.00, several new client attributes are collected and stored in separate columns of the DBC.SessionInfo view, the DBC.SessionTbl table, and the DBC.LogOnOff view. This information is an extension to the LogonSource information collected in the Logon Source Format column.

In Teradata Database 14.10, five additional client attributes are supported in the .NET Data Provider for Teradata - ClientIPAddrByClient, ClientPortByClient, ServerIPAddrByClient, ServerPortByClient and ClientCOPSuffixedHostName. Because the hostname IP address and the hostname port number are new columns for the 14.10 release, the ClientTdHostName now only contains the Teradata Database hostname. The composite ClientTdHostName containing the hostname, IP address and the port number will continue to be supported with Teradata Database version 14.00.

The DBC.LogOnOff and the DBC.SessionInfo views contain the same new additional columns, so the columns will be described within the DBC.SessionInfo view. The DBC.SessionTbl is accessable by only admninistrators (by default) and the DBC.SessionInfo is a view of this table. One new additional column DBC.SessionTbl.ClientAttributesEx is described that contains key value pairs, not found in the DBC.SessionInfo view. This same column does appear in the DBC.LogOnOff view.

When the .NET Data Provider for Teradata establishes a connection to the Advanced SQL Engine, several attributes of the application environment are collected and stored in the SQL Engine. A list of the attribute columns and their content are described below. The Teradata Database/SQL Engine Version indicates the SQL Engine version that supports the attribute.

Client Attribute Descriptions

SQL Engine Version  Table/View Table/View Column Type Max Length  Description
14.00 DBC.SessionInfo  ClientTdHostname string 128
  • The Teradata Vantage Hostname: +
  • The IP address of the SQL Engine node: +
  • The port of the SQL Engine node
14.10 DBC.SessionInfo  ClientTdHostname string 128 Teradata Vantage Hostname
14.00 DBC.SessionInfo  ClientProcThreadid string 128 The client process thread id
14.00 DBC.SessionInfo  ClientSystemUserId string 128 The client user name
14.00 DBC.SessionInfo  ClientProgramName string 1024 The process name of the executing application
14.00 DBC.SessionInfo  ClientOSName string 128 The operating system name
14.00 DBC.SessionInfo  ClientNetDataProviderVersion  string 16 The .NET Data Provider version in the format of WW.XX.YY.ZZ
14.00 DBC.SessionInfo  ClientNetFrameworkVersion; string 30 The .NET Framework version
14.00 DBC.SessionTbl  ClientAttributesEx string 512 Key-Value pairs as a String (key=value). Two values are supported and are separated by colons:
  • NF=The .NET Framework version
  • PI=Operating System Architecture
14.10 DBC.SessionInfo  ClientIPAddrByClient string 45 The client IP address
14.10 DBC.SessionInfo  ClientPortByClient integer 4 The client port number
14.10 DBC.SessionInfo  ServerIPAddrByClient string 45 The server IP address
14.10 DBC.SessionInfo  ServerPortByClient integer 4 The server port number
14.10 DBC.SessionInfo  ClientCOPSuffixedHostName string 128 When COP discovery is enabled, the hostname identifying the COP number

Each of the table/view columns are described below in more detail.

TdHostName

The TdHostName will consist of the Teradata Hostname as supplied from the Data Source connection property for Teradata Database versions 14.10 and greater.

The TdHostName will be supplied as a combination of three fields for Teradata Database version 14.00. For example:

    tdnetdp2:141.206.36.245:1025

ClientProcThreadid

The process id is obtained from process.GetCurrentProcess. The Data Provider populates this field with a question mark when .NET Framework throws a security violation exception.

ClientSystemUserId

The user name is obtained from System.Environment.UserName. The Data Provider populates this field with a question mark when .NET Framework throws a security violation exception.

ClientProgramName

The program name is obtained from System.GetCurrentProcess().ProcessName. The Data Provider populates this field with a question mark when .NET Framework throws a security violation exception.

ClientOSName

.NET Framework

The operating system name is obtained from System.Environment.OsVersion.Version property. To help distinguish the operating system version, the System.Environment.OsVersion.Version is included within the name. Any operating system service packs are obtained from the System.Environment.OsVersion.ServicePack property, which is appended to the end of the operating system name.

The major and minor version numbers are used to determine the operating system name. Two major minor version combinations exist that are not able to be distinguished uniquely. "Windows Vista and Windows Server 2008" and "Windows 7/Windows Server 2008 R2" will be returned as a combined entry.

The following are examples of the operating system names returned.

The above strings are returned with the OsVersion and the service pack (if exists). An example of the fully populated string is:

Windows 7/Windows Server 2008 R2 6.1.7601.65536 Service Pack 1.

.NET Core

The operating system name is obtained from System.Runtime.InteropServices.RuntimeInformation.OSDescription property.

ClientNetDataProviderVersion

The .NET Data Provider version is set in the format ww.xx.yy.zz. For example version 14.0.0.0, which is the version that supports the first release of Client Attributes.

ClientNetFrameworkVersion

The .NET Framework version is obtained by reading the current Environment.Version. The CLR version returned may not match the .NET Framework directly. See the table below.

.NET Framework
Version
Common Language Runtime
Version
System.Core.dll
Version
4.5.2 4.0 4.0
4.6 4.0 4.0
4.6.1 4.0 4.0
4.6.2 4.0 4.0

For example .NET Framework version may be:

    CLR 4.0.30319.42000

ClientAttributesEx

This property is capable of storing multiple key-value pairs in the form: key1=value1;key2=value2. Two keys are supported by the data provider:

The DBC.SessionInfo view obtains the .NET Framework version as described in the above attribute from the DBC.SessionTbl. An example of this column content is:

    NF=CLR 4.0.30319.237;PI=x64;

ClientIPAddrByClient

The IP address of the client application machine obtained from the socket local endpoint property.

ClientPortByClient

The port number of the client application machine obtained frrom the socket local endpoint property.

ServerIPAddrByClient

The IP address of the Teradata hostname obtained from the socket remote endpoint property.

ServerPortByClient

The port number of the Teradata hostname obtained frrom the socket remote endpoint property.

ClientCOPSuffixedHostName

When COP discovery is enabled, the ClientTdHostName identifying the COP number.

See Also

Logon Source Format