Teradata Client Access

2.   Client Access

2.1         Client Connections

Users can access data in the Teradata Database through an application on both channel-attached and network-attached clients. Additionally, the node itself can act as a client. Teradata client software is installed on each client (channel-attached, network-attached, or node) and communicates with RDBMS software on the node. You may occasionally hear either type of client referred to by the legacy term of "host," though this term is not typically used in documentation or product literature.

<v:shapetype o:spt="75" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" coordsize="21600,21600" stroked="f" id="_x0000_t75" filled="f" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"><v:stroke removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" joinstyle="miter"></v:stroke><v:formulas removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"><v:f eqn="if lineDrawn pixelLineWidth 0" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="sum @0 1 0" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="sum 0 0 @1" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @2 1 2" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @3 21600 pixelWidth" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @3 21600 pixelHeight" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="sum @0 0 1" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @6 1 2" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @7 21600 pixelWidth" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="sum @8 21600 0" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="prod @7 21600 pixelHeight" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f><v:f eqn="sum @10 21600 0" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></v:f></v:formulas><v:path gradientshapeok="t" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" o:extrusionok="f" o:connecttype="rect"></v:path><o:lock removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" type="#_x0000_t75" id="_x0000_i1025" alt="" style="WIDTH: 355.5pt; HEIGHT: 209.25pt"><v:imagedata o:href="teradata考试资料/Basic/Basic/Untitled/cli-hw.gif" removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>

2.2         Channel-Attached Client

Channel-attached clients are IBM-compatible mainframe systems supported by the Teradata Database. The following software components installed on the mainframe are responsible for communications between client applications and the Channel Driver on a Teradata node: <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

  • Teradata Director Program (TDP) software to manage session traffic, installed on the channel-attached client. <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>
  • Call-Level Interface (CLI), a library of routines that are the lowest-level interface to Teradata. <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

Communication with the Teradata System<o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

Communication from client applications on the mainframe goes through the mainframe channel, to the Host Channel Adapter on the node, to the Channel Driver software.<o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

2.3         Network Attached Client

The Teradata Database supports network-attached clients connected to the node over a LAN. The following software components installed on the network-attached client are responsible for communication between client applications and the Teradata Gateway on a Teradata node: <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

  • ODBC <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>
  • CLIv2 <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

Communication with the Teradata System <o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

Communication from applications on the network-attached client goes over the LAN, to the Ethernet card on the node, to the Teradata Gateway software.<o:p removechild="function MyRC(arg1){var self = this;if (self.removeAttribute)self.removeAttribute(&amp;quot;removeChild&quot;);var result = self[&amp;quot;removeChild&quot;](arg1);self[&amp;quot;removeChild&quot;] = arguments.callee; /*Finally restore the Override Function*/if(arg1.clearAttributes)arg1.clearAttributes();if(arg1.onclick)arg1.onclick=null;if(arg1.onmousemove)arg1.onmousemove=null;if(arg1.onmouseover)arg1.onmouseover=null;if(arg1.ondblclick)arg1.ondblclick=null;if(arg1.onmouseenter)arg1.onmouseenter=null;if(arg1.onmouseleave)arg1.onmouseleave=null;return result;}"></o:p>

2.4         Node

The node is considered a network-attached client. If you install application software on a node, it will be treated like an application on a network-attached client. In other words, communications from applications on the node go through the Te

你可能感兴趣的:(ext,F#,IBM,Access,Go)