﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Teradata Download Center / Teradata JDBC Driver / Teradata JDBC Documentation </title><generator>InstantForum.NET v4.1.4</generator><description>Teradata Download Center</description><link>http://www.teradata.com/DownloadCenter/</link><webMaster>info.teradata@teradata.com</webMaster><lastBuildDate>Sat, 07 Nov 2009 22:01:45 GMT</lastBuildDate><ttl>20</ttl><item><title>WebLogic Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9448-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with WebLogic Server &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: January 7, 2009 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; WebLogic application server. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2009 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt;      1.6. &lt;a href="#ovwls"&gt;Overview - Data Source in WebLogic Server&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#beawl"&gt;2. WebLogic 8.1&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      2.1. &lt;a href="#connp"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.1. &lt;a href="#prerq"&gt;Prerequisites&lt;/a&gt;&lt;br /&gt;         2.1.2. &lt;a href="#stadm"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.3. &lt;a href="#opjcp"&gt;Open JDBC Connection Pools&lt;/a&gt;&lt;br /&gt;         2.1.4. &lt;a href="#stcpp"&gt;Set Connection Pool Parameters&lt;/a&gt;&lt;br /&gt;         2.1.5. &lt;a href="#crtpo"&gt;Create the Pool&lt;/a&gt;&lt;br /&gt;         2.1.6. &lt;a href="#astpo"&gt;Assign the Pool&lt;/a&gt;&lt;br /&gt;      2.2. &lt;a href="#crjds"&gt;Create JDBC Data Source&lt;/a&gt;&lt;br /&gt;         2.2.1. &lt;a href="#stac2"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         2.2.2. &lt;a href="#opjds"&gt;Open JDBC Data Sources&lt;/a&gt;&lt;br /&gt;         2.2.3. &lt;a href="#stdsp"&gt;Set Data Source Parameters&lt;/a&gt;&lt;br /&gt;         2.2.4. &lt;a href="#astds"&gt;Assign the Data Source&lt;/a&gt;&lt;br /&gt;      2.3. &lt;a href="#accds"&gt;Accessing the DataSource from a Java Application&lt;/a&gt;&lt;br /&gt;         2.3.1. &lt;a href="#convs"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         2.3.2. &lt;a href="#usids"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      2.4. &lt;a href="#perfp"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt;         2.4.1. &lt;a href="#undao"&gt;Advanced Options&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#beawl91"&gt;3. WebLogic 9.x and WebLogic 10.x&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#connp91"&gt;Create JDBC Data Source&lt;/a&gt;&lt;br /&gt;         3.1.1. &lt;a href="#prerq91"&gt;Prerequisites&lt;/a&gt;&lt;br /&gt;         3.1.2. &lt;a href="#stadm91"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         3.1.3. &lt;a href="#opjds91"&gt;Open JDBC Data Sources&lt;/a&gt;&lt;br /&gt;         3.1.4. &lt;a href="#stdsp91"&gt;Set Data Source Parameters&lt;/a&gt;&lt;br /&gt;         3.1.5. &lt;a href="#stto"&gt;Set the Transaction Options&lt;/a&gt;&lt;br /&gt;         3.1.6. &lt;a href="#stcp"&gt;Set the Connection Properties&lt;/a&gt;&lt;br /&gt;         3.1.7. &lt;a href="#tstdccp"&gt;Test the Database Connection and Connection Properties&lt;/a&gt;&lt;br /&gt;         3.1.8. &lt;a href="#astds91"&gt;Assign the Data Source&lt;/a&gt;&lt;br /&gt;      3.2. &lt;a href="#accds91"&gt;Accessing the Data Source from a Java Application&lt;/a&gt;&lt;br /&gt;         3.2.1. &lt;a href="#convs91"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         3.2.2. &lt;a href="#usids91"&gt;Using the Data Source&lt;/a&gt;&lt;br /&gt;      3.3. &lt;a href="#perfp91"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt;         3.3.1. &lt;a href="#undao91"&gt;Advanced Options&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#beawl10.3"&gt;4. WebLogic 10.3&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      4.1. &lt;a href="#connp10.3"&gt;Create JDBC Data Source&lt;/a&gt;&lt;br /&gt;         4.1.1. &lt;a href="#prerq10.3"&gt;Prerequisites&lt;/a&gt;&lt;br /&gt;         4.1.2. &lt;a href="#stadm10.3"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         4.1.3. &lt;a href="#opjds10.3"&gt;Open JDBC Data Sources&lt;/a&gt;&lt;br /&gt;         4.1.4. &lt;a href="#stdsp10.3"&gt;Set Data Source Parameters&lt;/a&gt;&lt;br /&gt;         4.1.5. &lt;a href="#stto10.3"&gt;Set the Transaction Options&lt;/a&gt;&lt;br /&gt;         4.1.6. &lt;a href="#stcp10.3"&gt;Set the Connection Properties&lt;/a&gt;&lt;br /&gt;         4.1.7. &lt;a href="#tstdccp10.3"&gt;Test the Database Connection and Connection Properties&lt;/a&gt;&lt;br /&gt;         4.1.8. &lt;a href="#astds10.3"&gt;Assign the Data Source&lt;/a&gt;&lt;br /&gt;      4.2. &lt;a href="#accds10.3"&gt;Accessing the Data Source from a Java Application&lt;/a&gt;&lt;br /&gt;         4.2.1. &lt;a href="#convs10.3"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         4.2.2. &lt;a href="#usids10.3"&gt;Using the Data Source&lt;/a&gt;&lt;br /&gt;      4.3. &lt;a href="#perfp10.3"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt;         4.3.1. &lt;a href="#undao10.3"&gt;Advanced Options&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#troub"&gt;5. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      5.1. &lt;a href="#sesdw"&gt;Session Defaults Warning&lt;/a&gt;&lt;br /&gt;      5.2. &lt;a href="#cmpeb"&gt;Preparation of CMP Entity Beans for Deployment&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp"&gt;Appendix A: WebLogic Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; The application server versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;WebLogic Server 8.1&lt;/li&gt;  &lt;li&gt;WebLogic Server 9.0&lt;/li&gt;  &lt;li&gt;WebLogic Server 9.1&lt;/li&gt;  &lt;li&gt;WebLogic Server 9.2&lt;/li&gt;  &lt;li&gt;WebLogic Server 10.0&lt;/li&gt;  &lt;li&gt;WebLogic Server 10.3&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 7.0 with IBM JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.3 with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.3 with JRockit JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt;  Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC  Driver release, to obtain the list of supported combinations of operating  systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt;  Please refer to the application server vendor's documentation to obtain  the list of supported combinations of operating systems, CPUs, and 32/64  bit modes for each application server version. &lt;/p&gt; &lt;p&gt;  The Teradata JDBC Driver is supported for use with all combinations of  operating systems, CPUs, and 32/64 bit modes that are supported by both  the application server version and the Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt;  For Java software, an operating environment consists of the complete combination of  the following items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the specific version of the underlying operating system&lt;/li&gt; &lt;li&gt;the specific JVM version&lt;/li&gt; &lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt; &lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;  Generally, the Teradata JDBC Driver is tested in a particular operating environment  before that operating environment is supported for use with the Teradata JDBC Driver.  Such testing is needed for the following reasons: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt; &lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the     Global Support Center (GSC), so that it can support customers.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;  If a problem is encountered while using the Teradata JDBC Driver in an unsupported  environment, then the GSC will attempt to reproduce the problem in the closest  supported environment. If the problem can be reproduced in a supported environment,  and the problem is determined to be due to the Teradata JDBC Driver, then the problem  will be corrected and retested using the supported platform. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\platformMatrix.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tdgssShare"&gt;&lt;/a&gt; &lt;h3&gt;1.5. C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShare.html --&gt; &lt;p&gt; C/C++ applications that communicate with the Teradata Database use the TeraGSS security library. If C/C++ and Java applications are deployed to the same physical machine, then Java applications can be configured to use the TeraGSS security library's User Configuration File. &lt;/p&gt; &lt;p&gt; In this deployment scenario, Java applications do not use the tdgssconfig.jar file that is included in the Teradata JDBC Driver download package. Instead, the classpath for Java applications must include the TeraGSS directory that contains the TeraGSS User Configuration File, TdgssUserConfigFile.xml, as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   &lt;h3&gt;For shared TeraGSS configuration using the&lt;/h3&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;h3&gt;The classpath must include&lt;/h3&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 12.0 Teradata JDBC Driver and later  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 8.2 Teradata JDBC Driver 3.4 and earlier  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;tdgssjava.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For standalone Java applications, this is done via the applications' classpath. For J2EE applications deployed to an application server environment, the Data Source classpath is modified. &lt;/p&gt; &lt;/p&gt; Not all classloaders support the specification of a directory on the classpath. This deployment technique can only be used with classloaders that support the specification of a directory on the classpath. &lt;/p&gt; &lt;p&gt; Some application servers, such as SAP Web Application Server, only support the use of jar files when defining the classpath for a JDBC Data Source. If the application server or environment does not support the specification of a directory on the classpath, then C/C++ and Java applications cannot directly share the same TeraGSS User Configuration File. &lt;/p&gt; &lt;p&gt; For application servers or environments that do not support the specification of a directory on the classpath, the TeraGSS User Configuration File can only be shared indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS User Configuration File from the TeraGSS directory and to put the TeraGSS User Configuration File into the tdgssconfig.jar file from the Teradata JDBC Driver download package via: &lt;p&gt; &lt;code&gt;         jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/code&gt; &lt;p&gt; Each time the TeraGSS User Configuration File is modified, the jar "update" command must be executed again. The application server or environment must be restarted so that the modified tdgssconfig.jar will be used. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShare.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="ovwls"&gt;&lt;/a&gt; &lt;h3&gt;1.6. Overview - Data Source in WebLogic Server&lt;/h3&gt; &lt;p&gt; This section provides a quick overview of Data Source configuration in WebLogic. More detail is provided in subsequent sections. &lt;/p&gt; &lt;p&gt; The Teradata JDBC Driver can be used as a WebLogic Server data source. Within WebLogic Server, the use of a DataSource object, instead of DriverManager, is the preferred means of connecting to a data source. &lt;/p&gt; &lt;p&gt; To use the DataSource interface within WebLogic Server, the JDBC Connection Pool and JDBC Data Source will need to be configured for the Teradata JDBC Driver. &lt;/p&gt; &lt;p&gt; When configuring the JDBC Connection Pool through WebLogic server Admin Console, the following Teradata-specific configuration parameters are needed. &lt;/p&gt; &lt;p&gt; For the "Choose database" pane: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Database Type: Other&lt;/li&gt;  &lt;li&gt;Database Driver: Other&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; For the "JDBC Data Source Properties" pane for WebLogic 9.x and WebLogic 10.x: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Database Type: Other&lt;/li&gt;  &lt;li&gt;Database Driver: Other&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;strong&gt;NOTE:&lt;/strong&gt; In WebLogic 9.1, "Other" is not available as a Database Type. Instead, an arbitrary value for the database type can be chosen. The database type of PointBase has been tested to work successfully with the Teradata JDBC Driver. &lt;/p&gt; &lt;p&gt; For the "Define and test connection" pane: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;Driver Classname&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;&lt;td&gt;&lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;URL&lt;/td&gt;&lt;td&gt;&lt;code&gt;jdbc:teradata://&lt;/code&gt;&lt;i&gt;DataSourceName&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p&gt; &lt;strong&gt;NOTE:&lt;/strong&gt; In WebLogic 9.x and WebLogic 10.x, the Driver Classname and the URL is defined in the "Test Database Connection" pane. &lt;/p&gt; &lt;p&gt; When configuring the JDBC Data Source through WebLogic server Admin Console, the following parameter settings are required for setting up a plain data source and TXDataSource. &lt;/p&gt; &lt;p&gt; For a "Plain Data Source": &lt;/p&gt; &lt;p&gt;     [WebLogic 8.1] &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Checkbox "Honor Global Transactions" should be unchecked.&lt;/li&gt;  &lt;li&gt;Checkbox "Emulate Two-Phase Commit for non-XA Driver" should be checked.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;     [WebLogic 9.x and WebLogic 10.x] &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Checkbox "Supports Global Transactions" should be unchecked.&lt;/li&gt;  &lt;li&gt;Checkbox "Emulate Two-Phase Commit" should be unchecked.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; For a "TXDataSource": &lt;/p&gt; &lt;p&gt;     [WebLogic 8.1] &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Checkbox "Honor Global Transactions" should be checked.&lt;/li&gt;  &lt;li&gt;Checkbox "Emulate Two-Phase Commit for non-XA Driver" should be checked.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;     [WebLogic 9.x and WebLogic 10.x] &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Checkbox "Supports Global Transactions" should be checked.&lt;/li&gt;  &lt;li&gt;Checkbox "Emulate Two-Phase Commit" should be checked.&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="beawl"&gt;&lt;/a&gt; &lt;h2&gt;2. WebLogic 8.1&lt;/h2&gt; &lt;p&gt; The recommended way to create a Connection Pool within WebLogic is to use the graphical interface of the administrative server. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp"&gt;&lt;/a&gt; &lt;h3&gt;2.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="prerq"&gt;&lt;/a&gt; &lt;h4&gt;2.1.1. Prerequisites&lt;/h4&gt; &lt;p&gt; Prior to starting WebLogic, you must ensure that the CLASSPATH of the server refers to the jar files that make up the Teradata JDBC Driver. &lt;/p&gt; &lt;p&gt; For example, if you copied all of these to C:\TeraJDBC, then your CLASSPATH would need to include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;/li&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm"&gt;&lt;/a&gt; &lt;h4&gt;2.1.2. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; BEA WebLogic Platform 8.1 &amp;rarr; Examples &amp;rarr; WebLogic Server Examples &amp;rarr; Server Admin Console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="opjcp"&gt;&lt;/a&gt; &lt;h4&gt;2.1.3. Open JDBC Connection Pools&lt;/h4&gt; &lt;p&gt; In the left pane, click to expand the "examples" node &lt;/p&gt; &lt;p&gt; Click to expand the "Services" node &lt;/p&gt; &lt;p&gt; Click to expand the "JDBC" node in Services &lt;/p&gt; &lt;p&gt; Click on "Connection Pools" in JDBC &lt;/p&gt; &lt;p&gt; The right pane will show all of the Connection Pools currently defined. &lt;/p&gt; &lt;p&gt; Click "Configure a new JDBC Connection Pool..." &lt;/p&gt; &lt;img border="0" src="images/open-conn-pools.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stcpp"&gt;&lt;/a&gt; &lt;h4&gt;2.1.4. Set Connection Pool Parameters&lt;/h4&gt; &lt;p&gt; Select "Other" for the &lt;strong&gt;Database Type&lt;/strong&gt; &lt;/p&gt; &lt;p&gt; "Other" is automatically selected for the &lt;strong&gt;Database Driver&lt;/strong&gt; &lt;/p&gt; &lt;p&gt; Press "Continue" &lt;/p&gt; &lt;p&gt; Next, the details of the Teradata Connection Pool must be filled in. &lt;/p&gt; &lt;img border="0" src="images/config-conn-pool.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="crtpo"&gt;&lt;/a&gt; &lt;h4&gt;2.1.5. Create the Pool&lt;/h4&gt; &lt;p&gt; The values required to create the connection pool are listed in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the connection pool. This value is user-defined.   &lt;/td&gt;   &lt;td&gt;tera4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Classname&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Defines the URL that will be passed to the driver.  The example Teradata Database name is "whomooz".  You should use the actual Teradata Database hostname for your site.  &lt;br /&gt;  &lt;br /&gt;  Please note that any connection URL parameter such as "CHARSET"  or "TMODE" must be set within this URL parameter.  These CANNOT be set within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database User Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The password of the Teradata Database user.  &lt;br /&gt;  &lt;br /&gt;  This can be used to override the password value in Properties.  It allows you to avoid storing cleartext passwords.  &lt;br /&gt;  &lt;br /&gt;  After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Fill in the connection properties as shown in the figure below. &lt;/p&gt; &lt;img border="0" src="images/conn-props.jpg" /&gt; &lt;p&gt; Click "Test Driver Configuration" to check for errors. If there are no errors, click "Continue". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="astpo"&gt;&lt;/a&gt; &lt;h4&gt;2.1.6. Assign the Pool&lt;/h4&gt; &lt;p&gt; To create and deploy the pool click "Create and deploy" as shown in the figure below. &lt;/p&gt; &lt;img border="0" src="images/create-deploy.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="crjds"&gt;&lt;/a&gt; &lt;h3&gt;2.2. Create JDBC Data Source&lt;/h3&gt; &lt;p&gt; The JDBC Data Source allows you to access a connection pool. Using a Data Source enables an application to be independent of both the actual database being accessed and the type of JDBC driver being used. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stac2"&gt;&lt;/a&gt; &lt;h4&gt;2.2.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; BEA WebLogic Platform 8.1 &amp;rarr; Examples &amp;rarr; WebLogic Platform &amp;rarr; Server Admin Console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="opjds"&gt;&lt;/a&gt; &lt;h4&gt;2.2.2. Open JDBC Data Sources&lt;/h4&gt; &lt;p&gt; In the left pane, click to expand the "examples" node &lt;/p&gt; &lt;p&gt; Click to expand the "Services" node &lt;/p&gt; &lt;p&gt; Click to expand the "JDBC" node in Services &lt;/p&gt; &lt;p&gt; Click the "Data Sources" node in JDBC &lt;/p&gt; &lt;p&gt; The right pane will show all of the Data Sources currently defined. &lt;/p&gt; &lt;p&gt; Select "Configure a new JDBC Data Source" &lt;/p&gt; &lt;img border="0" src="images/config-ds.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdsp"&gt;&lt;/a&gt; &lt;h4&gt;2.2.3. Set Data Source Parameters&lt;/h4&gt; &lt;p&gt; The following table lists the parameters that must be set for a Data Source. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this DataSource.&lt;/td&gt;   &lt;td&gt;tera4DataSource&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;tera4DS&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Honor Global Transactions&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Specifies whether the Data Source can be treated as a javax.sql.XADataSource that supports  distributed transactions. This box should be checked if you are using Container Managed  Persistence (CMP) Entity Beans. Otherwise, it should remain unchecked.   &lt;/td&gt;   &lt;td&gt;(unchecked)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Emulate Two-Phase Commit for non-XA Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Specifies that the JDBC driver is not a javax.sql.XADataSource, and that the JDBC driver  does not support distributed transactions. The Teradata JDBC Driver does not currently  support XA or distributed transactions.   &lt;/td&gt;   &lt;td&gt;(checked)&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Enter the appropriate Teradata Database parameters, as shown in the figure below. Be sure that "Emulate Two-Phase Commit for non-XA Driver" is checked. Press "Continue" when you are finished. &lt;/p&gt; &lt;img border="0" src="images/config-ds-props.jpg" /&gt; &lt;p&gt; Next, associate the JDBC data source with a connection pool, as shown in the figure below. &lt;/p&gt; &lt;img border="0" src="images/assoc-ds-conn-pool.jpg" /&gt; &lt;p&gt; Select the connection pool name you defined in the last step from the &lt;strong&gt;Pool Name&lt;/strong&gt; combo box. &lt;/p&gt; &lt;p&gt; Press "Continue". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="astds"&gt;&lt;/a&gt; &lt;h4&gt;2.2.4. Assign the Data Source&lt;/h4&gt; &lt;p&gt; Select the target server. In this example, select "examplesServer" as shown in the figure below. &lt;/p&gt; &lt;p&gt; Press "Create" to create the data source. &lt;/p&gt; &lt;img border="0" src="images/target-server.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds"&gt;&lt;/a&gt; &lt;h3&gt;2.3. Accessing the DataSource from a Java Application&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs"&gt;&lt;/a&gt; &lt;h4&gt;2.3.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; WebLogic requires a valid Teradata Database username and password to be specified in the connection pool definition. The Teradata Database username and password specified in the connection pool definition are the ones that are always used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(), then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(username,password), then the username and password arguments to getConnection are validated against the WebLogic server realm. &lt;/p&gt; &lt;p&gt; If there is no WebLogic user defined in the WebLogic server realm that corresponds to the username argument to getConnection, then WebLogic will throw the following SQLException: &lt;/p&gt; &lt;p&gt;     Message: "User: &lt;i&gt;YourUserId&lt;/i&gt;, failed to be authenticated." &lt;br /&gt;     SQLState: null &lt;br /&gt;     Error code: 0 &lt;/p&gt; &lt;p&gt; If the username and password arguments to getConnection are successfully validated against the WebLogic server realm, then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; Note: The username and password arguments to getConnection are totally separate from the username and password specified in the connection pool definition. The username and password arguments to getConnection are used by WebLogic only, and are validated against the WebLogic server realm. The username and password arguments to getConnection are &lt;strong&gt;NOT&lt;/strong&gt; used for the Teradata Database. &lt;/p&gt; &lt;p&gt; Note: This behavior of WebLogic differs from the JDBC API standard, and it differs from the behavior of other application servers. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids"&gt;&lt;/a&gt; &lt;h4&gt;2.3.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The following code creates the initial context: &lt;/p&gt; &lt;code&gt;       Context ctx = new InitialContext(); &lt;/code&gt; &lt;p&gt; To perform a JNDI lookup to obtain the DataSource, the following code can be used: &lt;/p&gt; &lt;code&gt;       DataSource ds = (DataSource) ctx.lookup(jndiName); &lt;/code&gt; &lt;p&gt; To obtain a connection from the DataSource, the following code can be used: &lt;/p&gt; &lt;code&gt;       Connection con = ds.getConnection(); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one that was obtained from the Driver Manager.  &lt;/p&gt; &lt;p&gt; See &lt;a href="#csamp"&gt;Appendix A&lt;/a&gt; for a complete application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp"&gt;&lt;/a&gt; &lt;h3&gt;2.4. Performance Parameters&lt;/h3&gt; &lt;p&gt; The following performance parameters are visible after selecting a specific Connection Pool and then selecting the "Connections" tab within the WebLogic Administrator Console. Their setting can impact the performance of your application. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Capacity&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="undao"&gt;&lt;/a&gt; &lt;h3&gt;2.4.1 Advanced Options&lt;/h3&gt; &lt;p&gt; &lt;i&gt;Login Delay&lt;/i&gt; - this defaults to zero and should remain at that value. Inserting a value here could cause unnecessary delays. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Created Connections&lt;/i&gt; - selecting this option will hurt your performance with no apparent benefit to your application. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Reserved Connections&lt;/i&gt; - this determines whether connections are tested before being given to a client. Turning on this option will cause your application to run slightly slower, but it will take advantage of WebLogic's automatic testing of connections, so that your application won't need to handle the situation where the connection it gets is not working. Turning off this option will cause your application to run slightly faster, but it will not use WebLogic's automatic testing of connections, so that your application will need to handle the situation where the connection it gets is not working. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Table Name&lt;/i&gt; - a table the DataSource user has access to which contains a small number of rows. The SQL executed will be: &lt;code&gt;select count(*) from TestTableName&lt;/code&gt; &lt;/p&gt; &lt;p&gt; Also note that there is a Monitoring Tab available that can help you track the performance of a Connection Pool. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="beawl91"&gt;&lt;/a&gt; &lt;h2&gt;3. WebLogic 9.x and WebLogic 10.x &lt;/h2&gt; &lt;p&gt; The recommended way to create a Data Source and Connection Pool within WebLogic is to use the graphical interface of the administrative server. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp91"&gt;&lt;/a&gt; &lt;h3&gt;3.1. Create JDBC Data Source&lt;/h3&gt; &lt;p&gt; The creation of a Data Source and Connection Pool differs between WebLogic 9.x,WebLogic 10.x and previous versions of WebLogic that are supported by the Teradata JDBC Driver. In WebLogic 9.x and WebLogic 10.x, the Data Source and Connection Pool are not defined separately, instead the Connection Pool is created within the Data Source creation when defining the connection properties and parameters to test the data source configuration. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="prerq91"&gt;&lt;/a&gt; &lt;h4&gt;3.1.1. Prerequisites&lt;/h4&gt; &lt;p&gt; Prior to starting WebLogic, you must ensure that the CLASSPATH of the server refers to the jar files that make up the Teradata JDBC Driver. &lt;/p&gt; &lt;p&gt; For example, if you copied all of these to C:\TeraJDBC, then your CLASSPATH would need to include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;/li&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm91"&gt;&lt;/a&gt; &lt;h4&gt;3.1.2. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; BEA Products &amp;rarr; Examples &amp;rarr; WebLogic Server &amp;rarr; Start Examples Server &lt;/p&gt; &lt;p&gt; When the browser window is displayed for WEBLOGIC SERVER 9.x or WEBLOGIC SERVER 10.x Getting Started, Click "Start the Administration Console" at the top right. &lt;/p&gt; &lt;p&gt; Enter your username and password (default is weblogic) &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="opjds91"&gt;&lt;/a&gt; &lt;h4&gt;3.1.3. Open JDBC Data Sources&lt;/h4&gt; &lt;p&gt; In the left pane for Domain Structure, click to expand the "Services" node. &lt;/p&gt; &lt;p&gt; Click to expand the "JDBC" node in Services. &lt;/p&gt; &lt;p&gt; Click on "Data Sources" in JDBC. &lt;/p&gt; &lt;p&gt; The right pane will show all of the Data Sources currently defined. &lt;/p&gt; &lt;p&gt; Click "Lock &amp; Edit" in the left pane for the Change Center. &lt;/p&gt; &lt;p&gt; Click "New" in the Data Sources pane. &lt;/p&gt; &lt;img border="0" src="images/new-ds.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdsp91"&gt;&lt;/a&gt; &lt;h4&gt;3.1.4. Set Data Source Parameters&lt;/h4&gt; &lt;p&gt; The following table lists the parameters that must be set for a Data Source. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this Data Source.&lt;/td&gt;   &lt;td&gt;tera4DataSource&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the Data Source.&lt;/td&gt;   &lt;td&gt;tera4DS&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Type&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The database type to be used.    &lt;br /&gt;    &lt;strong&gt;NOTE:&lt;/strong&gt; In WebLogic 9.1, "Other" is not available as a database type.     Since neither Teradata nor Other is available in this list,    an arbitrary value for the database type can be chosen.    The database type of PointBase has been tested to work successfully with the Teradata JDBC Driver.   &lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The database driver to use to create database connections.&lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Next" when you are finished. &lt;/p&gt; &lt;img border="0" src="images/create-ds.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stto"&gt;&lt;/a&gt; &lt;h4&gt;3.1.5. Set the Transaction Options&lt;/h4&gt; &lt;p&gt; For the Transaction Options shown below, uncheck "Supports Global Transactions". Click "Next" when you are finished. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;NOTE:&lt;/strong&gt; In WebLogic 9.x and Weblogic 10.x, an option for transaction processing, e.g. Emulate Two-Phase Commit, can be set only if you selected Supports Global Transactions. For TXDataSource, both of the check boxes for "Supports Global Transactions" and "Emulate Two-Phase Commit" should be checked. &lt;/p&gt; &lt;img border="0" src="images/trans-opt.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stcp"&gt;&lt;/a&gt; &lt;h4&gt;3.1.6. Set the Connection Properties&lt;/h4&gt; &lt;p&gt; The following table lists the parameters to be set for Connection Properties which will be used to create the connection pool for this data source. &lt;/p&gt; &lt;p&gt; Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The example Teradata Database name is "whomooz".    You should use the actual Teradata Database hostname for your site.   &lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Host Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The name or IP address of the database server.&lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Port&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The port on the database server used to connect to the Teradata Database.    &lt;br /&gt;    &lt;br /&gt;    &lt;strong&gt;NOTE:&lt;/strong&gt; This port number setting is not currently used by the    Teradata JDBC Driver to connect to the Teradata Database. However, this port    number setting may be supported by the Teradata JDBC Driver in the future, so    it should be set correctly for your Teradata Database system. The Teradata Database    normally uses port 1025.    &lt;br /&gt;    &lt;br /&gt;    If your Teradata Database system uses a port other than 1025, then the port    number can be specified with the DBS_PORT connection URL parameter.    Setting the connection URL is shown in the next section.   &lt;/td&gt;   &lt;td&gt;1025&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database User Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The password of the Teradata Database user.    &lt;br /&gt;    &lt;br /&gt;    This can be used to override the password value in Properties.    It allows you to avoid storing cleartext passwords.    &lt;br /&gt;    &lt;br /&gt;    After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Next" to continue. &lt;/p&gt; &lt;img border="0" src="images/connection-prop.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tstdccp"&gt;&lt;/a&gt; &lt;h4&gt;3.1.7. Test the Database Connection and Connection Properties&lt;/h4&gt; &lt;p&gt; The following table lists the parameters that must be set for the Test Database Connection. &lt;/p&gt; &lt;p&gt; The values required to create the connection pool are listed in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The name of the class that implements the java.sql.Driver interface.    &lt;br /&gt;    &lt;br /&gt;    This value will be used to define the driver class name for the connection pool    for this data source.    &lt;br /&gt;    &lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    Defines the URL that will be passed to the driver.  The example Teradata    Databasename is "whomooz".  You should use the actual Teradata Database    hostname for your site.    &lt;br /&gt;    &lt;br /&gt;    This value will be used to define the URL for the connection pool for this data source.    &lt;br /&gt;    &lt;br /&gt;    Please note that any connection URL parameter such as "CHARSET" or    "TMODE" must be set within this URL parameter.  These CANNOT be set    within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database User name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username. &lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The password of the Teradata Database user.    &lt;br /&gt;    &lt;br /&gt;    This can be used to override the password value in Properties.    It allows you to avoid storing cleartext passwords.    &lt;br /&gt;    &lt;br /&gt;    After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Confirm Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Re-enter the password of the Teradata Database user.  &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Properties&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The properties to pass to the JDBC driver when creating the database connection.  &lt;/td&gt;   &lt;td&gt;user=guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Test Table Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The table name or SQL statement to use to test the database connection.    &lt;br /&gt;    &lt;br /&gt;    &lt;strong&gt;NOTE:&lt;/strong&gt;  This property is optional.   &lt;/td&gt;   &lt;td&gt;SQL select count(*) from TestTableName &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Test Configuration" when you are finished. In the Messages window, you should receive "Connection test succeeded." if your connection was successful. Click "Next" to continue. &lt;/p&gt; &lt;img border="0" src="images/test-db-conn.jpg" width="800" height="821" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="astds91"&gt;&lt;/a&gt;  &lt;h4&gt;3.1.8. Assign the Data Source&lt;/h4&gt; &lt;p&gt; Select the target to deploy the JDBC Data Source. examplesServer is used for this Data Source. &lt;/p&gt; &lt;img border="0" src="images/sel-targets.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Click "Finish" to complete the Data Source creation. &lt;/p&gt; &lt;p&gt; Click the "Activate Change" button in the Change Center to activate the changes. &lt;/p&gt; &lt;p&gt; The Data Source that you just created should now appear in the table for the Data Sources for this domain. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds91"&gt;&lt;/a&gt; &lt;h3&gt;3.2. Accessing the Data Source from a Java Application&lt;/h3&gt; &lt;br /&gt; &lt;a id="convs91"&gt;&lt;/a&gt; &lt;h4&gt;3.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; WebLogic requires a valid Teradata Database username and password to be specified in the connection pool definition. The Teradata Database username and password specified in the connection pool definition are the ones that are always used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(), then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(username,password), then the username and password arguments to getConnection are validated against the WebLogic server realm. &lt;/p&gt; &lt;p&gt; If there is no WebLogic user defined in the WebLogic server realm that corresponds to the username argument to getConnection, then WebLogic will throw the following SQLException: &lt;/p&gt; &lt;p&gt;     Message: "User: &lt;i&gt;YourUserId&lt;/i&gt;, failed to be authenticated." &lt;br /&gt;     SQLState: null &lt;br /&gt;     Error code: 0 &lt;/p&gt; &lt;p&gt; If the username and password arguments to getConnection are successfully validated against the WebLogic server realm, then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Note:&lt;/strong&gt; The username and password arguments to getConnection are totally separate from the username and password specified in the connection pool definition. The username and password arguments to getConnection are used by WebLogic only, and are validated against the WebLogic server realm. The username and password arguments to getConnection are &lt;strong&gt;NOT&lt;/strong&gt; used for the Teradata Database. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Note:&lt;/strong&gt; This behavior of WebLogic differs from the JDBC API standard, and it differs from the behavior of other application servers. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids91"&gt;&lt;/a&gt; &lt;h4&gt;3.2.2. Using the Data Source&lt;/h4&gt; &lt;p&gt; The following code creates the initial context: &lt;/p&gt; &lt;code&gt;       Context ctx = new InitialContext(); &lt;/code&gt; &lt;p&gt; To perform a JNDI lookup to obtain the Data Source, the following code can be used: &lt;/p&gt; &lt;code&gt;       DataSource ds = (DataSource) ctx.lookup(jndiName); &lt;/code&gt; &lt;p&gt; To obtain a connection from the Data Source, the following code can be used: &lt;/p&gt; &lt;code&gt;       Connection con = ds.getConnection(); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one that was obtained from the Driver Manager.  &lt;/p&gt; &lt;p&gt; See &lt;a href="#csamp"&gt;Appendix A&lt;/a&gt; for a complete application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp91"&gt;&lt;/a&gt; &lt;h3&gt;3.3. Performance Parameters&lt;/h3&gt; &lt;p&gt; The following performance parameters are visible after selecting Connection Pool under the "Configuration" tab for a Data Source within the WebLogic Administrator Console. Their setting can impact the performance of your application. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Capacity&lt;/i&gt; - This value specifies the maximum number of connections that the pool can contain. If this value is set smaller than the number of connections normally in use, then application response time may be negatively impacted as the application must wait for connections to be returned to the pool before proceeding. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="undao91"&gt;&lt;/a&gt; &lt;h3&gt;3.3.1 Advanced Options&lt;/h3&gt; &lt;p&gt; &lt;i&gt;Login Delay&lt;/i&gt; - this defaults to zero and should remain at that value. Inserting a value here could cause unnecessary delays. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Connections on Reserve&lt;/i&gt; - this determines whether connections are tested before being given to a client. Turning on this option will cause your application to run slightly slower, but it will take advantage of WebLogic's automatic testing of connections, so that your application won't need to handle the situation where the connection it gets is not working. Turning off this option will cause your application to run slightly faster, but it will not use WebLogic's automatic testing of connections, so that your application will need to handle the situation where the connection that is obtained from the pool may not work. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Table Name&lt;/i&gt; - a table the Data Source user has access to which contains a small number of rows. The SQL executed will be: &lt;code&gt;select count(*) from TestTableName&lt;/code&gt; &lt;/p&gt; &lt;p&gt; Also note that there is a Monitoring Tab available that can help you track the performance of a data source. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="beawl10.3"&gt;&lt;/a&gt; &lt;h2&gt;4. WebLogic 10.3 &lt;/h2&gt; &lt;p&gt; The recommended way to create a Data Source and Connection Pool within WebLogic is to use the graphical interface of the administrative server. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp10.3"&gt;&lt;/a&gt; &lt;h3&gt;4.1. Create JDBC Data Source&lt;/h3&gt; &lt;p&gt; The creation of a Data Source and Connection Pool differs between WebLogic 10.x and pre 9.1  versions of WebLogic that are supported by the Teradata JDBC Driver. In WebLogic 10.x, the Data Source and Connection Pool are not defined separately, instead the Connection Pool is created within the Data Source creation when defining the connection properties and parameters to test the data source configuration. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="prerq10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.1. Prerequisites&lt;/h4&gt; &lt;p&gt; Prior to starting WebLogic, you must ensure that the CLASSPATH of the server refers to the jar files that make up the Teradata JDBC Driver. &lt;/p&gt; &lt;p&gt; For example, if you copied all of these to C:\TeraJDBC, then your CLASSPATH would need to include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;/li&gt; &lt;li&gt;&lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.2. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Oracle WebLogic &amp;rarr; WebLogic Server 10gR3 &amp;rarr; Examples &amp;rarr; Start Examples Server &lt;/p&gt; &lt;p&gt; When the browser window is displayed for WEBLOGIC SERVER Getting Started, Click "Start the Administration Console" at the top right. &lt;/p&gt; &lt;p&gt; Enter your username and password (default is weblogic) &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="opjds10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.3. Open JDBC Data Sources&lt;/h4&gt; &lt;p&gt; In the left pane for Domain Structure, click to expand the "Services" node. &lt;/p&gt; &lt;p&gt; Click to expand the "JDBC" node in Services. &lt;/p&gt; &lt;p&gt; Click on "Data Sources" in JDBC. &lt;/p&gt; &lt;p&gt; The right pane will show all of the Data Sources currently defined. &lt;/p&gt; &lt;p&gt; Click "New" in the Data Sources pane. &lt;/p&gt; &lt;img border="0" src="images/new-ds_10_3.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdsp10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.4. Set Data Source Parameters&lt;/h4&gt; &lt;p&gt; The following table lists the parameters that must be set for a Data Source. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this Data Source.&lt;/td&gt;   &lt;td&gt;tera4DataSource&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the Data Source.&lt;/td&gt;   &lt;td&gt;tera4DS&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Type&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The database type to be used.    &lt;br /&gt;   &lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The database driver to use to create database connections.&lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Next" when you are finished. &lt;/p&gt; &lt;img border="0" src="images/create-ds_10_3.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stto10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.5. Set the Transaction Options&lt;/h4&gt; &lt;p&gt; For the Transaction Options shown below, uncheck "Supports Global Transactions". Click "Next" when you are finished. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;NOTE:&lt;/strong&gt; In WebLogic 9.x and Weblogic 10.x, an option for transaction processing, e.g. Emulate Two-Phase Commit, can be set only if you selected Supports Global Transactions. For TXDataSource, both of the check boxes for "Supports Global Transactions" and "Emulate Two-Phase Commit" should be checked. &lt;/p&gt; &lt;img border="0" src="images/trans-opt_10_3.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stcp10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.6. Set the Connection Properties&lt;/h4&gt; &lt;p&gt; The following table lists the parameters to be set for Connection Properties which will be used to create the connection pool for this data source. &lt;/p&gt; &lt;p&gt; Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The example Teradata Database name is "xpsys03".    You should use the actual Teradata Database hostname for your site.   &lt;/td&gt;   &lt;td&gt;xpsys03&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Host Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The name or IP address of the database server.&lt;/td&gt;   &lt;td&gt;xpsys03&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Port&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The port on the database server used to connect to the Teradata Database.    &lt;br /&gt;    &lt;br /&gt;    &lt;strong&gt;NOTE:&lt;/strong&gt; This port number setting is not currently used by the    Teradata JDBC Driver to connect to the Teradata Database. However, this port    number setting may be supported by the Teradata JDBC Driver in the future, so    it should be set correctly for your Teradata Database system. The Teradata Database    normally uses port 1025.    &lt;br /&gt;    &lt;br /&gt;    If your Teradata Database system uses a port other than 1025, then the port    number can be specified with the DBS_PORT connection URL parameter.    Setting the connection URL is shown in the next section.   &lt;/td&gt;   &lt;td&gt;1025&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database User Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The password of the Teradata Database user.    &lt;br /&gt;    &lt;br /&gt;    This can be used to override the password value in Properties.    It allows you to avoid storing cleartext passwords.    &lt;br /&gt;    &lt;br /&gt;    After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Next" to continue. &lt;/p&gt; &lt;img border="0" src="images/connection-prop_10_3.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tstdccp10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.1.7. Test the Database Connection and Connection Properties&lt;/h4&gt; &lt;p&gt; The following table lists the parameters that must be set for the Test Database Connection. &lt;/p&gt; &lt;p&gt; The values required to create the connection pool are listed in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The name of the class that implements the java.sql.Driver interface.    &lt;br /&gt;    &lt;br /&gt;    This value will be used to define the driver class name for the connection pool    for this data source.    &lt;br /&gt;    &lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    Defines the URL that will be passed to the driver.  The example Teradata    Databasename is "xpsys03".  You should use the actual Teradata Database    hostname for your site.    &lt;br /&gt;    &lt;br /&gt;    This value will be used to define the URL for the connection pool for this data source.    &lt;br /&gt;    &lt;br /&gt;    Please note that any connection URL parameter such as "CHARSET" or    "TMODE" must be set within this URL parameter.  These CANNOT be set    within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://xpsys03&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database User name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username. &lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The password of the Teradata Database user.    &lt;br /&gt;    &lt;br /&gt;    This can be used to override the password value in Properties.    It allows you to avoid storing cleartext passwords.    &lt;br /&gt;    &lt;br /&gt;    After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Confirm Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Re-enter the password of the Teradata Database user.  &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Properties&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The properties to pass to the JDBC driver when creating the database connection.  &lt;/td&gt;   &lt;td&gt;user=guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Test Table Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;    The table name or SQL statement to use to test the database connection.    &lt;br /&gt;    &lt;br /&gt;    &lt;strong&gt;NOTE:&lt;/strong&gt;  This property is optional.   &lt;/td&gt;   &lt;td&gt;SQL select count(*) from TestTableName &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Enter the appropriate parameters, as shown in the figure below. Click "Test Configuration" when you are finished. In the Messages window, you should receive "Connection test succeeded." if your connection was successful. Click "Next" to continue. &lt;/p&gt; &lt;img border="0" src="images/test-db-conn_10_3.jpg" width="800" height="821" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="astds10.3"&gt;&lt;/a&gt;  &lt;h4&gt;4.1.8. Assign the Data Source&lt;/h4&gt; &lt;p&gt; Select the target to deploy the JDBC Data Source. examplesServer is used for this Data Source. &lt;/p&gt; &lt;img border="0" src="images/sel-targets_10_3.jpg" width="800" height="689" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;p&gt; Click "Finish" to complete the Data Source creation. &lt;/p&gt; &lt;p&gt; The Data Source that you just created should now appear in the table for the Data Sources for this domain. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds10.3"&gt;&lt;/a&gt; &lt;h3&gt;4.2. Accessing the Data Source from a Java Application&lt;/h3&gt; &lt;br /&gt; &lt;a id="convs10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; WebLogic requires a valid Teradata Database username and password to be specified in the connection pool definition. The Teradata Database username and password specified in the connection pool definition are the ones that are always used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(), then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; When the application calls DataSource.getConnection(username,password), then the username and password arguments to getConnection are validated against the WebLogic server realm. &lt;/p&gt; &lt;p&gt; If there is no WebLogic user defined in the WebLogic server realm that corresponds to the username argument to getConnection, then WebLogic will throw the following SQLException: &lt;/p&gt; &lt;p&gt;     Message: "User: &lt;i&gt;YourUserId&lt;/i&gt;, failed to be authenticated." &lt;br /&gt;     SQLState: null &lt;br /&gt;     Error code: 0 &lt;/p&gt; &lt;p&gt; If the username and password arguments to getConnection are successfully validated against the WebLogic server realm, then the username and password specified in the connection pool definition are used to connect to the Teradata Database. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Note:&lt;/strong&gt; The username and password arguments to getConnection are totally separate from the username and password specified in the connection pool definition. The username and password arguments to getConnection are used by WebLogic only, and are validated against the WebLogic server realm. The username and password arguments to getConnection are &lt;strong&gt;NOT&lt;/strong&gt; used for the Teradata Database. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Note:&lt;/strong&gt; This behavior of WebLogic differs from the JDBC API standard, and it differs from the behavior of other application servers. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids10.3"&gt;&lt;/a&gt; &lt;h4&gt;4.2.2. Using the Data Source&lt;/h4&gt; &lt;p&gt; The following code creates the initial context: &lt;/p&gt; &lt;code&gt;       Context ctx = new InitialContext(); &lt;/code&gt; &lt;p&gt; To perform a JNDI lookup to obtain the Data Source, the following code can be used: &lt;/p&gt; &lt;code&gt;       DataSource ds = (DataSource) ctx.lookup(jndiName); &lt;/code&gt; &lt;p&gt; To obtain a connection from the Data Source, the following code can be used: &lt;/p&gt; &lt;code&gt;       Connection con = ds.getConnection(); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one that was obtained from the Driver Manager.  &lt;/p&gt; &lt;p&gt; See &lt;a href="#csamp"&gt;Appendix A&lt;/a&gt; for a complete application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp10.3"&gt;&lt;/a&gt; &lt;h3&gt;4.3. Performance Parameters&lt;/h3&gt; &lt;p&gt; The following performance parameters are visible after selecting Connection Pool under the "Configuration" tab / "Connection Pool" subtab -  for a Data Source within the WebLogic Administrator Console. Their setting can impact the performance of your application. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Capacity&lt;/i&gt; - This value specifies the maximum number of connections that the pool can contain. If this value is set smaller than the number of connections normally in use, then application response time may be negatively impacted as the application must wait for connections to be returned to the pool before proceeding. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="undao10.3"&gt;&lt;/a&gt; &lt;h3&gt;4.3.1 Advanced Options&lt;/h3&gt; &lt;p&gt; &lt;i&gt;Login Delay&lt;/i&gt; - this defaults to zero and should remain at that value. Inserting a value here could cause unnecessary delays. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Connections on Reserve&lt;/i&gt; - this determines whether connections are tested before being given to a client. Turning on this option will cause your application to run slightly slower, but it will take advantage of WebLogic's automatic testing of connections, so that your application won't need to handle the situation where the connection it gets is not working. Turning off this option will cause your application to run slightly faster, but it will not use WebLogic's automatic testing of connections, so that your application will need to handle the situation where the connection that is obtained from the pool may not work. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Test Table Name&lt;/i&gt; - a table the Data Source user has access to which contains a small number of rows. The SQL executed will be: &lt;code&gt;select count(*) from TestTableName&lt;/code&gt; &lt;/p&gt; &lt;p&gt; Also note that there is a Monitoring Tab available that can help you track the performance of a data source. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="troub"&gt;&lt;/a&gt; &lt;h2&gt;5. Troubleshooting&lt;/h2&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sesdw"&gt;&lt;/a&gt; &lt;h3&gt;5.1. Session Defaults Warning&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;p&gt; Teradata does not provide any means to "reset" a connection. Therefore, the user of a connection pool data source must avoid using any commands that affect session defaults. Any changes to session defaults will continue to be in effect for the next unsuspecting user of that connection. &lt;/p&gt; &lt;p&gt; Session parameters that &lt;strong&gt;must not be changed&lt;/strong&gt; include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Database (SET SESSION DATABASE command)&lt;/li&gt; &lt;li&gt;Collation (SET SESSION COLLATION command)&lt;/li&gt; &lt;li&gt;Character Set&lt;/li&gt; &lt;li&gt;Transaction Semantics&lt;/li&gt; &lt;li&gt;Dateform (SET SESSION DATEFORM command)&lt;/li&gt; &lt;li&gt;Timezone (SET TIME ZONE command)&lt;/li&gt; &lt;li&gt;Default date format&lt;/li&gt; &lt;li&gt;QueryBand (SET QUERY_BAND ... FOR SESSION command, introduced with Teradata Database 12.0)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The SET QUERY_BAND ... FOR TRANSACTION command is recommended as an alternative to SET QUERY_BAND ... FOR SESSION, because SET QUERY_BAND ... FOR TRANSACTION is limited in scope to the current transaction. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cmpeb"&gt;&lt;/a&gt; &lt;h3&gt;5.2. Preparation of CMP Entity Beans for Deployment&lt;/h3&gt; &lt;p&gt; To manage transactions correctly for contained-managed persistence (CMP) entity beans, the WebLogic EJB container requires a TXDataSource (not a plain data source) to be specified. &lt;/p&gt; &lt;p&gt;     [WebLogic 8.1] &lt;/p&gt; &lt;p&gt; To configure a new TXDataSource using WebLogic server Admin Console, both the "Honor Global Transactions" checkbox and "Emulate Two-Phase Commit for non-XA Driver" checkbox need to be checked. &lt;/p&gt; &lt;p&gt;     [WebLogic 9.x and WebLogic 10.x] &lt;/p&gt; &lt;p&gt; To configure a new TXDataSource using WebLogic server Admin Console, both the "Supports Global Transactions" checkbox and "Emulate Two-Phase Commit" checkbox need to be checked. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="csamp"&gt;&lt;/a&gt; &lt;h2&gt;Appendix A:  WebLogic Code Samples&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool using Data Source default username and password. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       &lt;br /&gt;       Connection con = ds.getConnection();&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt;&lt;/div&gt;</description><pubDate>Tue, 07 Apr 2009 18:31:37 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>WebSphere Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9447-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with IBM WebSphere Application Server and WebSphere Studio Application Developer 5.1.2 &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: February 4, 2009 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; IBM WebSphere Application Server. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2009 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt;      1.6. &lt;a href="#qowas"&gt;Overview - Data Source in WebSphere Application Server&lt;/a&gt;&lt;br /&gt;      1.7. &lt;a href="#qostu"&gt;Overview - Data Source in WebSphere Studio AD 5.1.2&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#ibmws"&gt;2. IBM WebSphere 5.1&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      2.1. &lt;a href="#connp"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.1. &lt;a href="#stadm"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.2. &lt;a href="#addtd"&gt;Add the Teradata JDBC Driver&lt;/a&gt;&lt;br /&gt;         2.1.3. &lt;a href="#confd"&gt;Configure the Driver&lt;/a&gt;&lt;br /&gt;         2.1.4. &lt;a href="#creds"&gt;Create the Data Source&lt;/a&gt;&lt;br /&gt;         2.1.5. &lt;a href="#conds"&gt;Configure the Data Source&lt;/a&gt;&lt;br /&gt;         2.1.6. &lt;a href="#sdscp"&gt;Set Data Source Custom Properties&lt;/a&gt;&lt;br /&gt;      2.2. &lt;a href="#accds"&gt;Accessing the DataSource via a Java Servlet&lt;/a&gt;&lt;br /&gt;         2.2.1. &lt;a href="#convs"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         2.2.2. &lt;a href="#usids"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      2.3. &lt;a href="#accdsjsec"&gt;Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/a&gt;&lt;br /&gt;         2.3.1. &lt;a href="#jsec"&gt;Enforce Java 2 security on WebSphere 5.1&lt;/a&gt;&lt;br /&gt;         2.3.2. &lt;a href="#usidsjsec"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      2.4. &lt;a href="#perfp"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#ibmws_60"&gt;3. IBM WebSphere 6.0&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#connp_60"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         3.1.1. &lt;a href="#stadm_60"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         3.1.2. &lt;a href="#addtd_60"&gt;Add the Teradata JDBC Driver&lt;/a&gt;&lt;br /&gt;         3.1.3. &lt;a href="#confd_60"&gt;Configure the Driver&lt;/a&gt;&lt;br /&gt;         3.1.4. &lt;a href="#creds_60"&gt;Create the Data Source&lt;/a&gt;&lt;br /&gt;         3.1.5. &lt;a href="#conds_60"&gt;Configure the Data Source&lt;/a&gt;&lt;br /&gt;         3.1.6. &lt;a href="#sdscp_60"&gt;Set Data Source Custom Properties&lt;/a&gt;&lt;br /&gt;      3.2. &lt;a href="#accds_60"&gt;Accessing the DataSource via a Java Servlet&lt;/a&gt;&lt;br /&gt;         3.2.1. &lt;a href="#convs_60"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         3.2.2. &lt;a href="#usids_60"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      3.3. &lt;a href="#accdsjsec_60"&gt;Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/a&gt;&lt;br /&gt;         3.3.1. &lt;a href="#jsec_60"&gt;Enforce Java 2 security on WebSphere 6.0&lt;/a&gt;&lt;br /&gt;         3.3.2. &lt;a href="#usidsjsec_60"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      3.4. &lt;a href="#perfp_60"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#ibmws_61"&gt;4. IBM WebSphere 6.1&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      4.1. &lt;a href="#connp_61"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         4.1.1. &lt;a href="#stadm_61"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         4.1.2. &lt;a href="#addtd_61"&gt;Add the Teradata JDBC Driver&lt;/a&gt;&lt;br /&gt;         4.1.3. &lt;a href="#confd_61"&gt;Configure the Driver&lt;/a&gt;&lt;br /&gt;         4.1.4. &lt;a href="#creds_61"&gt;Create the Data Source&lt;/a&gt;&lt;br /&gt;         4.1.5. &lt;a href="#conds_61"&gt;Configure the Data Source&lt;/a&gt;&lt;br /&gt;         4.1.6. &lt;a href="#sdscp_61"&gt;Set Data Source Custom Properties&lt;/a&gt;&lt;br /&gt;      4.2. &lt;a href="#accds_61"&gt;Accessing the DataSource via a Java Servlet&lt;/a&gt;&lt;br /&gt;         4.2.1. &lt;a href="#convs_61"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         4.2.2. &lt;a href="#usids_61"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      4.3. &lt;a href="#accdsjsec_61"&gt;Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/a&gt;&lt;br /&gt;         4.3.1. &lt;a href="#jsec_61"&gt;Enforce Java 2 security on WebSphere 6.1&lt;/a&gt;&lt;br /&gt;         4.3.2. &lt;a href="#usidsjsec_61"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      4.4. &lt;a href="#perfp_61"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#ibmws_70"&gt;5. IBM WebSphere 7.0&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      5.1. &lt;a href="#connp_70"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         5.1.1. &lt;a href="#stadm_70"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         5.1.2. &lt;a href="#addtd_70"&gt;Add the Teradata JDBC Driver&lt;/a&gt;&lt;br /&gt;         5.1.3. &lt;a href="#confd_70"&gt;Configure the Driver&lt;/a&gt;&lt;br /&gt;         5.1.4. &lt;a href="#creds_70"&gt;Create the Data Source&lt;/a&gt;&lt;br /&gt;         5.1.5. &lt;a href="#conds_70"&gt;Configure the Data Source&lt;/a&gt;&lt;br /&gt;         5.1.6. &lt;a href="#sdscp_70"&gt;Set Data Source Custom Properties&lt;/a&gt;&lt;br /&gt;      5.2. &lt;a href="#accds_70"&gt;Accessing the DataSource via a Java Servlet&lt;/a&gt;&lt;br /&gt;         5.2.1. &lt;a href="#convs_70"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         5.2.2. &lt;a href="#usids_70"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      5.3. &lt;a href="#accdsjsec_70"&gt;Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/a&gt;&lt;br /&gt;         5.3.1. &lt;a href="#jsec_70"&gt;Enforce Java 2 security on WebSphere 6.1&lt;/a&gt;&lt;br /&gt;         5.3.2. &lt;a href="#usidsjsec_70"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      5.4. &lt;a href="#perfp_70"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#wssad"&gt;6. WebSphere Studio Application Developer&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      6.1. &lt;a href="#cpadi"&gt;Connection Pool via Application Developer Interface&lt;/a&gt;&lt;br /&gt;         6.1.1. &lt;a href="#stad2"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         6.1.2. &lt;a href="#opsvp"&gt;Open the Server Perspective&lt;/a&gt;&lt;br /&gt;         6.1.3. &lt;a href="#csasc"&gt;Create Server and Server Configuration&lt;/a&gt;&lt;br /&gt;         6.1.4. &lt;a href="#csvds"&gt;Create Server Data Source&lt;/a&gt;&lt;br /&gt;         6.1.5. &lt;a href="#cfgds"&gt;Configure Data Source&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#troub"&gt;7. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      7.1. &lt;a href="#jndif"&gt;JNDI Call Failure&lt;/a&gt;&lt;br /&gt;      7.2. &lt;a href="#srvlt"&gt;Servlet Version&lt;/a&gt;&lt;br /&gt;      7.3. &lt;a href="#gndsh"&gt;Generic Data Store Helper&lt;/a&gt;&lt;br /&gt;      7.4. &lt;a href="#sesdw"&gt;Session Defaults Warning&lt;/a&gt;&lt;br /&gt;      7.5. &lt;a href="#cmpeb"&gt;Preparation of CMP Entity Beans for Deployment&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp"&gt;Appendix A: WebSphere Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; The application server versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;IBM WebSphere 5.1&lt;/li&gt;  &lt;li&gt;IBM WebSphere 6.0&lt;/li&gt;  &lt;li&gt;IBM WebSphere 6.1&lt;/li&gt;  &lt;li&gt;IBM WebSphere 7.0&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Other tools covered are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;IBM WebSphere Studio Application Developer 5.1.2&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 7.0 with IBM JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.3 with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.3 with JRockit JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt;  Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC  Driver release, to obtain the list of supported combinations of operating  systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt;  Please refer to the application server vendor's documentation to obtain  the list of supported combinations of operating systems, CPUs, and 32/64  bit modes for each application server version. &lt;/p&gt; &lt;p&gt;  The Teradata JDBC Driver is supported for use with all combinations of  operating systems, CPUs, and 32/64 bit modes that are supported by both  the application server version and the Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt;  For Java software, an operating environment consists of the complete combination of  the following items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the specific version of the underlying operating system&lt;/li&gt; &lt;li&gt;the specific JVM version&lt;/li&gt; &lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt; &lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;  Generally, the Teradata JDBC Driver is tested in a particular operating environment  before that operating environment is supported for use with the Teradata JDBC Driver.  Such testing is needed for the following reasons: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt; &lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the     Global Support Center (GSC), so that it can support customers.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;  If a problem is encountered while using the Teradata JDBC Driver in an unsupported  environment, then the GSC will attempt to reproduce the problem in the closest  supported environment. If the problem can be reproduced in a supported environment,  and the problem is determined to be due to the Teradata JDBC Driver, then the problem  will be corrected and retested using the supported platform. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\platformMatrix.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tdgssShare"&gt;&lt;/a&gt; &lt;h3&gt;1.5. C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShare.html --&gt; &lt;p&gt; C/C++ applications that communicate with the Teradata Database use the TeraGSS security library. If C/C++ and Java applications are deployed to the same physical machine, then Java applications can be configured to use the TeraGSS security library's User Configuration File. &lt;/p&gt; &lt;p&gt; In this deployment scenario, Java applications do not use the tdgssconfig.jar file that is included in the Teradata JDBC Driver download package. Instead, the classpath for Java applications must include the TeraGSS directory that contains the TeraGSS User Configuration File, TdgssUserConfigFile.xml, as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   &lt;h3&gt;For shared TeraGSS configuration using the&lt;/h3&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;h3&gt;The classpath must include&lt;/h3&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 12.0 Teradata JDBC Driver and later  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 8.2 Teradata JDBC Driver 3.4 and earlier  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;tdgssjava.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For standalone Java applications, this is done via the applications' classpath. For J2EE applications deployed to an application server environment, the Data Source classpath is modified. &lt;/p&gt; &lt;/p&gt; Not all classloaders support the specification of a directory on the classpath. This deployment technique can only be used with classloaders that support the specification of a directory on the classpath. &lt;/p&gt; &lt;p&gt; Some application servers, such as SAP Web Application Server, only support the use of jar files when defining the classpath for a JDBC Data Source. If the application server or environment does not support the specification of a directory on the classpath, then C/C++ and Java applications cannot directly share the same TeraGSS User Configuration File. &lt;/p&gt; &lt;p&gt; For application servers or environments that do not support the specification of a directory on the classpath, the TeraGSS User Configuration File can only be shared indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS User Configuration File from the TeraGSS directory and to put the TeraGSS User Configuration File into the tdgssconfig.jar file from the Teradata JDBC Driver download package via: &lt;p&gt; &lt;code&gt;         jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/code&gt; &lt;p&gt; Each time the TeraGSS User Configuration File is modified, the jar "update" command must be executed again. The application server or environment must be restarted so that the modified tdgssconfig.jar will be used. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShare.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="qowas"&gt;&lt;/a&gt; &lt;h3&gt;1.6. Overview - Data Source in WebSphere Application Server&lt;/h3&gt; &lt;p&gt; The Teradata JDBC Driver can be used as a WebSphere version 5.x data source or a WebSphere version 4.x data source. &lt;/p&gt; &lt;p&gt; To use the DataSource interface within WebSphere Application Server, the JDBC Provider and JDBC Data Source will need to be configured for Teradata JDBC type 4 driver. &lt;/p&gt; &lt;p&gt; When configuring the JDBC Provider through WebSphere server Admin Console, the following Teradata-specific configuration parameters are needed. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;Classpath:&lt;/td&gt;   &lt;td&gt;&lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;    &lt;code&gt;tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;Implementation Classname:&lt;/td&gt;   &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; When configuring the JDBC Data Source for the Teradata JDBC Provider, the following Custom Properties are needed. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;DSName: the Teradata data source name or IP address&lt;/li&gt; &lt;li&gt;user: the username to connect to the data source&lt;/li&gt; &lt;li&gt;password: the password to connect to the data source&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; For container-managed persistence (CMP) entity beans: On the data source "Configuration" pane, check the checkbox "Use this Data Source in container managed persistence (CMP)." &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="qostu"&gt;&lt;/a&gt; &lt;h3&gt;1.7. Overview - Data Source in WebSphere Studio Application Developer 5.1.2&lt;/h3&gt; &lt;p&gt; To use the DataSource interface within WebSphere Studio Application Developer 5.1.2 test server, the JDBC Provider and JDBC Data Source will need to be configured for Teradata JDBC type 4 driver &lt;/p&gt; &lt;p&gt; When configuring the JDBC Provider for the WebSphere Studio Application Developer 5.1.2 Test Server, the following Teradata-specific configuration parameters are needed: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr&gt;   &lt;td&gt;Database type:&lt;/td&gt;&lt;td&gt;user-defined&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;JDBC provider type:&lt;/td&gt;&lt;td&gt;user-defined JDBC Provider&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;Implementation class name:&lt;/td&gt;   &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;Class path:&lt;/td&gt;   &lt;td&gt;&lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;    &lt;code&gt;tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; When configuring the JDBC Data Source for the Teradata JDBC Provider, the following parameters are needed: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr&gt;   &lt;td&gt;Data source helper class name:&lt;/td&gt;   &lt;td&gt;&lt;code&gt;com.ibm.websphere.rsadapter.ConnectJDBCDataStoreHelper&lt;/code&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;DSName:&lt;/td&gt;&lt;td&gt;the Teradata Database hostname&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;user:&lt;/td&gt;&lt;td&gt;the Teradata Database username&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt;password:&lt;/td&gt;&lt;td&gt;the Teradata Database user's password&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For container-managed persistence (CMP) entity beans, on the data source "Configuration" dialog window, check the checkbox "Use this Data Source in container managed persistence (CMP)." &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="ibmws"&gt;&lt;/a&gt; &lt;h2&gt;2. IBM WebSphere 5.1&lt;/h2&gt; &lt;p&gt; A Connection Pool is created via the graphical interface of the administrative server. &lt;/p&gt; &lt;p&gt; Please note that there is more than one GUI interface available for the IBM WebSphere product. The information provided here, using WebSphere Application Server 5.1, should be sufficient to allow a user to accomplish the same tasks with the other available GUIs. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp"&gt;&lt;/a&gt; &lt;h3&gt;2.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm"&gt;&lt;/a&gt; &lt;h4&gt;2.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; IBM WebSphere &amp;rarr; Application Server v5.1 &amp;rarr; Administrative Console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="addtd"&gt;&lt;/a&gt; &lt;h4&gt;2.1.2. Add the Teradata JDBC Driver&lt;/h4&gt; &lt;img border="0" src="images/jdbc-providers.jpg" /&gt; &lt;p&gt; Under "Resources", Click "JDBC Providers" in the left pane. &lt;/p&gt; &lt;p&gt; Press "New" in the right pane. &lt;/p&gt; &lt;p&gt; In the next Window, select "User Defined JDBC Driver" from the list of JDBC Providers in the right pane and click "OK". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="confd"&gt;&lt;/a&gt; &lt;h4&gt;2.1.3. Configure the Driver&lt;/h4&gt; &lt;p&gt; Now the Driver must be configured as shown below. &lt;/p&gt; &lt;img border="0" src="images/config-driver.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the driver. This is user-defined.&lt;/td&gt;   &lt;td&gt;Teradata Driver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined.&lt;/td&gt;   &lt;td&gt;Teradata JDBC&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;  &lt;td&gt;&lt;h4&gt;Classpath&lt;/h4&gt;&lt;/td&gt;  &lt;td&gt;   The full path name of the jar files that make up the   Teradata JDBC Driver. The example assumes that   you have copied these files to the   C:\TeraJDBC directory on your system.   &lt;br /&gt;   &lt;br /&gt;   A path on a Linux or UNIX machine would use forward slashes to separate its components.  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;  &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Implementation Classname&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the Teradata JDBC Driver data source class.&lt;/td&gt;   &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "OK" to submit the changes. &lt;/p&gt; &lt;p&gt; Note that "TeradataDriver" will now appear in the list of JDBC Providers. To create a data source, click "TeradataDriver". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="creds"&gt;&lt;/a&gt; &lt;h4&gt;2.1.4. Create the Data Source&lt;/h4&gt; &lt;p&gt; The following figure shows how to create a Data Source. &lt;/p&gt; &lt;img border="0" src="images/create-ds-IBM.jpg" /&gt; &lt;p&gt; Click "New" in the "Data Sources" pane. Next, the connection pool is defined. &lt;/p&gt; &lt;p&gt; Note:  A version 4.x Data Source can also be configured. The required fields are a subset of version 5.x and so are not listed here. The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="conds"&gt;&lt;/a&gt; &lt;h4&gt;2.1.5. Configure the Data Source&lt;/h4&gt; &lt;p&gt; Configure the Data Source by entering the data as shown in the figure below. &lt;/p&gt; &lt;img border="0" src="images/config-ds-IBM.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this resource.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;jdbc/teradata4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Container Managed Persistence&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Set if Data Source will be used for CMP of EJBs.&lt;/td&gt;   &lt;td&gt;Check this box if the Data Source will be used with CMP entity beans. Otherwise, leave it unchecked.&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After the configuration information is filled in, click "OK". &lt;/p&gt; &lt;p&gt; Now, scroll to the bottom of the right pane and click "Custom Properties". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sdscp"&gt;&lt;/a&gt; &lt;h4&gt;2.1.6. Set Data Source Custom Properties&lt;/h4&gt; &lt;p&gt; The following figure shows how to set the custom properties of the Data Source such as user name, password and data source name. &lt;/p&gt; &lt;img border="0" src="images/custom-props.jpg" /&gt; &lt;p&gt; Click "New" to create a custom property for each of the values shown in the table below. All of this data is defined by the user. &lt;/p&gt; &lt;p&gt; Note: The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Name&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Description&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;DSName&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The hostname of the Teradata Database.&lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;user&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The password.&lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; In addition to the above parameters, all of the parameters that can be specified in a Teradata JDBC connection URL can also be specified here. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;ul&gt; &lt;li&gt;When using TTU 8.0 Teradata JDBC Driver 3.2, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.02.00, B035-2403-104A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.1 Teradata JDBC Driver 3.3, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.03.00, B035-2403-115A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.2 Teradata JDBC Driver 3.4, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.04.00, B035-2403-096A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 12.0 Teradata JDBC Driver, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 12.00.00, B035-2403-067A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 13.0 Teradata JDBC Driver, please refer to the Teradata JDBC Driver User Guide, Release 13.00.00, B035-2403-088A for more details.&lt;/li&gt; &lt;/ul&gt; &lt;!-- End doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Save" to save your changes. The connection can be tested by selecting the data source and clicking "Test Connection" as shown in the figure below. Please note that the values shown above specify a specific account on a specific database. You will need to modify the value portion of these properties to match the Teradata Database you are accessing. &lt;/p&gt; &lt;img border="0" src="images/testcon.jpg" /&gt; &lt;p&gt; You should see a message similar to "Test Connection for datasource Teradata on server server1 at node CHARLIE was successful." &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds"&gt;&lt;/a&gt; &lt;h3&gt;2.2. Accessing the DataSource via a Java Servlet&lt;/h3&gt; &lt;p&gt; A Java servlet can access a data source to get pooled connections. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs"&gt;&lt;/a&gt; &lt;h4&gt;2.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; With WebSphere, a JDBC Provider is defined to specify information about the JDBC driver. After the JDBC Provider has been defined, then one or more Data Sources can be configured for the JDBC Provider. After each Data Source has been defined, Custom Properties can be configured for each Data Source. &lt;/p&gt; &lt;p&gt; The Data Source's "user" and "password" Custom Properties are optional. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then they serve as the    default values when an application calls DataSource.getConnection().&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then the application can    override those default values by calling DataSource.getConnection(username,password).&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are not defined, then an application must    call DataSource.getConnection(username,password) in order to connect to the database.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; In other words, user and password values must be specified either as Custom Properties, or as arguments to DataSource.getConnection(username,password), or both; and when both are specified, then the arguments to DataSource.getConnection(username,password) override the "user" and "password" Custom Properties defined for a Data Source. &lt;/p&gt; &lt;p&gt; A SQLException will be thrown if user and password values are not specified in either Custom Properties, or as arguments to DataSource.getConnection(username,password). &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata JDBC Driver] : Single Sign-On NOT supported for Mechanism TD2.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;HY000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;1032&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A SQLException will be thrown if user and password values are specified, but the specified user or password are invalid. Note that invalid user and password values specified as arguments to DataSource.getConnection(username,password) will override correct user and password values specified in Custom Properties. When DataSource.getConnection(username,password) is called but authentication fails, WebSphere does not "fallback" to use the values specified in Custom Properties. &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : Invalid password.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;28000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3003&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids"&gt;&lt;/a&gt; &lt;h4&gt;2.2.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The servlet is accessed via a URL similar to the following: &lt;/p&gt; &lt;code&gt; http://server/servlet/servletname &lt;/code&gt; &lt;p&gt; In the example, the username, password and datasource name are all specified in the URL parameters: &lt;/p&gt; &lt;code&gt; http://charlie/servlet/SampleJdbcServlet?user=guest&amp;amp;password=please&amp;amp;datasource=teradata4 &lt;/code&gt; &lt;p&gt; Note that user-defined variables are in &lt;i&gt;italics&lt;/i&gt;. &lt;/p&gt; &lt;h4&gt;Accessing the URL Parameters&lt;/h4&gt; &lt;code&gt; String user = req.getParameter("&lt;i&gt;user&lt;/i&gt;"); &lt;br /&gt; String password = req.getParameter("&lt;i&gt;password&lt;/i&gt;"); &lt;br /&gt; String datasource = req.getParameter("&lt;i&gt;datasource&lt;/i&gt;"); &lt;/code&gt; &lt;h4&gt;Creating the Initial Naming Context&lt;/h4&gt; &lt;code&gt; Context ctx = new InitialContext(); &lt;/code&gt; &lt;h4&gt;Lookup the Data Source&lt;/h4&gt; &lt;code&gt; DataSource ds = (DataSource) ctx.lookup("jdbc/" + datasource); &lt;/code&gt; &lt;h4&gt;Use the Data Source to get Connections&lt;/h4&gt; &lt;code&gt; Connection con = ds.getConnection(user, password); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one obtained from the Driver Manager. &lt;/p&gt; &lt;p&gt; See Appendix A for a complete Application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accdsjsec"&gt;&lt;/a&gt; &lt;h3&gt;2.3. Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/h3&gt; &lt;p&gt; An application can access a data source when WebSphere Java 2 security is enforced. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jsec"&gt;&lt;/a&gt; &lt;h4&gt;2.3.1. Enforce Java 2 security on WebSphere 5.1&lt;/h4&gt; &lt;p&gt; To enforce Java 2 security on WebSphere 5.1, follow the procedures below: &lt;ul&gt; &lt;li&gt;Logon to WebSphere 5.1 administrative console&lt;/li&gt; &lt;li&gt;Select and expand "Security" on the left navigation pane&lt;/li&gt; &lt;li&gt;Click on Global security&lt;/li&gt; &lt;li&gt;Check the checkbox for "Enforce Java 2 security"&lt;/li&gt; &lt;li&gt;Click "Apply"&lt;/li&gt; &lt;li&gt;Click "Save" to save your workspace changes to the master configuration&lt;/li&gt; &lt;li&gt;The server may need to be restarted for the changes to take effect&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/j2security.jpg" /&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usidsjsec"&gt;&lt;/a&gt; &lt;h4&gt;2.3.2. Using the DataSource&lt;/h4&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;p&gt; The type 4 Teradata Driver for the JDBC Interface mimics the Communication Processor (COP) discovery behavior of CLI. The type 4 driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. &lt;/p&gt; &lt;p&gt; The above COP discovery approach used by Teradata JDBC driver requires security permissions to be defined in WebSphere dynamic policy files, including app.policy and was.policy. The permission definitions in these dynamic policy files will be described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in app.policy&lt;/h4&gt; &lt;p&gt; The app.policy file is located in the following WebSphere directory location: &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;/span&gt; &lt;p&gt; &amp;lt;WebSphere-Installation-Root&amp;gt;/config/cells/&amp;lt;cell-name&amp;gt;/nodes/&amp;lt;node-name&amp;gt; &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;p&gt; The app.policy file contains default permissions for all of the enterprise applications in the cell. If security permissions are required for all of the enterprise applications in the cell, these permissions can be defined in app.policy, however, if some security permissions only apply to some specific WebSphere Application Server enterprise application, those permissions must be defined in was.policy, which will be described in the following section. &lt;/p&gt; &lt;p&gt; WebSphere Application Server has the following default permission defined in the app.policy file: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "*", "connect"; &lt;/code&gt; &lt;p&gt; This permission is included in the following segment in app.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "*", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The Teradata JDBC Driver's COP discovery technique is compatible with the default permission in the default app.policy file. However, when a site removes that default permission in order to tighten security, then additional specific permissions are required to support the Teradata JDBC Driver's COP discovery. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then the following permissions are required: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into app.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: If these permissions apply to a specific application only, they should not be defined in app.policy and instead they must be defined in was.policy. The permission definition in was.policy is described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in was.policy&lt;/h4&gt; &lt;p&gt; The was.policy file is packaged in an enterprise archive (EAR) file. The was.policy file contains application-specific permissions for an WebSphere Application Server enterprise application. &lt;/p&gt; &lt;p&gt; The following permissions will be required in was.policy to meet the requirements for the COP discovery approach of Teradata JDBC driver. It should be noted that these permissions in was.policy are for the specific application only where it is packaged. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then following permissions must be defined: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into was.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;br&gt; or:&lt;br&gt; &lt;br&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; Note: When more nodes are added to the Teradata Database system, for example, m more nodes, the following additional permissions must be added to was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file): &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+1", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+m", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; Besides the above SocketPermissions, RuntimePermission and FilePermission may also be needed. Depending upon WebSphere application server configurations and the enterprise application structures, the following permissions may be required in was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file). &lt;/p&gt; &lt;p&gt; Note that you need to substitute the actual directory where the Teradata JDBC Driver is located for "C:/teradatajdbcdriver" shown in the examples below. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "getClassLoader";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/terajdbc4.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssconfig.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; An additional permission must be granted when using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. This permission is not required when using the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssjava.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;h4&gt;Expected java.security.AccessControlException in WebSphere SystemOut.log file&lt;/h4&gt; &lt;p&gt; The COP discovery approach used by Teradata JDBC driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. When this undefined name is encountered, a java.security.AccessControlException is thrown by WebSphere Java 2 security permission configuration. The Teradata JDBC driver handles this Java 2 security exception properly so the COP discovery process will be completed successfully and the application will be able to use the data source without any issues. &lt;/p&gt; &lt;p&gt; However, the above Java 2 security exception will still be logged into WebSphere SystemOut.log file since this AccessControlException is generated by WebSphere Java 2 security configuration and the Teradata JDBC driver has no control over WebSphere Java 2 security configuration. &lt;/p&gt; &lt;p&gt; Assume there are 4 nodes of Teradata Database system, and the following permissions have been defined in was.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP3", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP4", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The WebSphere Java 2 security exception similar to the following contents will be logged into SystemOut.log file: &lt;/p&gt; &lt;code&gt; [11/13/06 14:15:20:836 PST]  c6cf176 SecurityManag W SECJ0314W: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. Please refer to Problem Determination Guide for further information.&lt;br&gt; &lt;br&gt; Permission:&lt;br&gt; &lt;br&gt;       hostnameCOP5 : access denied (java.net.SocketPermission hostnameCOP5 resolve)&lt;br&gt; &lt;br&gt; Code:&lt;br&gt; &lt;br&gt;      com.teradata.jdbc.jdbc_4.io.TDNetworkIO1_3Impl  in  {file:/C:/teradatajdbcdriver/terajdbc4.jar}&lt;br&gt; &lt;br&gt; Stack Trace:&lt;br&gt; &lt;br&gt; java.security.AccessControlException: access denied (java.net.SocketPermission ginghamCOP5 resolve)&lt;br&gt;  at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code))&lt;br&gt;  at java.security.AccessController.checkPermission(AccessController.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkConnect(SecurityManager.java:1054)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:1009)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:990)&lt;br&gt;  at java.net.InetAddress.getAllByName(InetAddress.java:984)&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: Since the Teradata JDBC driver COP discovery logic handles this Java 2 security exception properly so the application will be able to use the data source without any issues. &lt;/p&gt;&lt;!-- End doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp"&gt;&lt;/a&gt; &lt;h3&gt;2.4. Performance Parameters&lt;/h3&gt; &lt;p&gt; After a DataSource has been selected and its properties have been displayed, select "Connection Pool" in the "Additional Properties" panel. This will display the values for properties such as "Connection Timeout", "Max Connections" etc. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Max Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; On the page where these values are set, the help text, which can be displayed by clicking the "[i]" box at the right of value, will provide detailed information on the settings and information on how these settings can impact performance. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="ibmws_60"&gt;&lt;/a&gt; &lt;h2&gt;3. IBM WebSphere 6.0&lt;/h2&gt; &lt;p&gt; A Connection Pool is created via the graphical interface of the administrative server. &lt;/p&gt; &lt;p&gt; Please note that there is more than one GUI interface available for the IBM WebSphere product. The information provided here, using WebSphere Application Server 6.0, should be sufficient to allow a user to accomplish the same tasks with the other available GUIs. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp_60"&gt;&lt;/a&gt; &lt;h3&gt;3.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; IBM WebSphere &amp;rarr; Application Server v6 &amp;rarr; Profiles &amp;rarr; default &amp;rarr; Administrative console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="addtd_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.2. Add the Teradata JDBC Driver&lt;/h4&gt; &lt;img border="0" src="images/jdbc-providers_60.jpg" /&gt; &lt;p&gt; Under "Resources", Click "JDBC Providers" in the left pane. &lt;/p&gt; &lt;p&gt; Press "New" in the right pane. &lt;/p&gt; &lt;p&gt; In the next Window, select "User Defined" from the list of "select Database type" in the right pane and click "Next". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="confd_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.3. Configure the Driver&lt;/h4&gt; &lt;p&gt; Now the Driver must be configured as shown below. &lt;/p&gt; &lt;img border="0" src="images/config-driver_60.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the driver. This is user-defined.&lt;/td&gt;   &lt;td&gt;Teradata Driver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined.&lt;/td&gt;   &lt;td&gt;Teradata JDBC&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;  &lt;td&gt;&lt;h4&gt;Classpath&lt;/h4&gt;&lt;/td&gt;  &lt;td&gt;   The full path name of the jar files that make up the   Teradata JDBC Driver. The example assumes that   you have copied these files to the   C:\TeraJDBC directory on your system.   &lt;br /&gt;   &lt;br /&gt;   A path on a Linux or UNIX machine would use forward slashes to separate its components.  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;  &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Implementation Classname&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the Teradata JDBC Driver data source class.&lt;/td&gt;   &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "OK" to submit the changes. &lt;/p&gt; &lt;p&gt; Note that "TeradataDriver" will now appear in the list of JDBC Providers. To create a data source, click "TeradataDriver". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="creds_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.4. Create the Data Source&lt;/h4&gt; &lt;p&gt; The following figure shows how to create a Data Source. &lt;/p&gt; &lt;img border="0" src="images/create-ds_60.jpg" /&gt; &lt;p&gt; Click "New" in the "Data Sources" pane. Next, the connection pool is defined. &lt;/p&gt; &lt;p&gt; Note:  A version 4.x Data Source can also be configured. The required fields are a subset of version 5.x and so are not listed here. The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="conds_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.5. Configure the Data Source&lt;/h4&gt; &lt;p&gt; Configure the Data Source by entering the data as shown in the figure below. &lt;/p&gt; &lt;img border="0" src="images/config-ds_60.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this resource.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;jdbc/teradata4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Container Managed Persistence&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Set if Data Source will be used for CMP of EJBs.&lt;/td&gt;   &lt;td&gt;Check this box if the Data Source will be used with CMP entity beans. Otherwise, leave it unchecked.&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data store helper class&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Data store helper classes provided by WebSphere&lt;/td&gt;   &lt;td&gt;Select the option "Generic data store helper".&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After the configuration information is filled in, click "OK". &lt;/p&gt; &lt;p&gt; Now, under "Additional Properties" in the right pane, click "Custom Properties". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sdscp_60"&gt;&lt;/a&gt; &lt;h4&gt;3.1.6. Set Data Source Custom Properties&lt;/h4&gt; &lt;p&gt; The following figure shows how to set the custom properties of the Data Source such as user name, password and data source name. &lt;/p&gt; &lt;img border="0" src="images/custom-props_60.jpg" /&gt; &lt;p&gt; Click "New" to create a custom property for each of the values shown in the table below. All of this data is defined by the user. &lt;/p&gt; &lt;p&gt; Note: The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Name&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Description&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;DSName&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The hostname of the Teradata Database.&lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;user&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The password.&lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; In addition to the above parameters, all of the parameters that can be specified in a Teradata JDBC connection URL can also be specified here. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;ul&gt; &lt;li&gt;When using TTU 8.0 Teradata JDBC Driver 3.2, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.02.00, B035-2403-104A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.1 Teradata JDBC Driver 3.3, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.03.00, B035-2403-115A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.2 Teradata JDBC Driver 3.4, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.04.00, B035-2403-096A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 12.0 Teradata JDBC Driver, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 12.00.00, B035-2403-067A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 13.0 Teradata JDBC Driver, please refer to the Teradata JDBC Driver User Guide, Release 13.00.00, B035-2403-088A for more details.&lt;/li&gt; &lt;/ul&gt; &lt;!-- End doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Save" to save your changes. The connection can be tested by selecting the data source and clicking "Test Connection" as shown in the figure below. Please note that the values shown above specify a specific account on a specific database. You will need to modify the value portion of these properties to match the Teradata Database you are accessing. &lt;/p&gt; &lt;img border="0" src="images/testcon_60.jpg" /&gt; &lt;p&gt; You should see a message similar to "Test Connection for datasource Teradata on server server1 at node CHARLIE was successful." &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds_60"&gt;&lt;/a&gt; &lt;h3&gt;3.2. Accessing the DataSource via a Java Servlet&lt;/h3&gt; &lt;p&gt; A Java servlet can access a data source to get pooled connections. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs_60"&gt;&lt;/a&gt; &lt;h4&gt;3.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; With WebSphere, a JDBC Provider is defined to specify information about the JDBC driver. After the JDBC Provider has been defined, then one or more Data Sources can be configured for the JDBC Provider. After each Data Source has been defined, Custom Properties can be configured for each Data Source. &lt;/p&gt; &lt;p&gt; The Data Source's "user" and "password" Custom Properties are optional. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then they serve as the    default values when an application calls DataSource.getConnection().&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then the application can    override those default values by calling DataSource.getConnection(username,password).&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are not defined, then an application must    call DataSource.getConnection(username,password) in order to connect to the database.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; In other words, user and password values must be specified either as Custom Properties, or as arguments to DataSource.getConnection(username,password), or both; and when both are specified, then the arguments to DataSource.getConnection(username,password) override the "user" and "password" Custom Properties defined for a Data Source. &lt;/p&gt; &lt;p&gt; A SQLException will be thrown if user and password values are not specified in either Custom Properties, or as arguments to DataSource.getConnection(username,password). &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata JDBC Driver] : Single Sign-On NOT supported for Mechanism TD2.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;HY000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;1032&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A SQLException will be thrown if user and password values are specified, but the specified user or password are invalid. Note that invalid user and password values specified as arguments to DataSource.getConnection(username,password) will override correct user and password values specified in Custom Properties. When DataSource.getConnection(username,password) is called but authentication fails, WebSphere does not "fallback" to use the values specified in Custom Properties. &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : Invalid password.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;28000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3003&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids_60"&gt;&lt;/a&gt; &lt;h4&gt;3.2.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The servlet is accessed via a URL similar to the following: &lt;/p&gt; &lt;code&gt; http://server/servlet/servletname &lt;/code&gt; &lt;p&gt; In the example, the username, password and datasource name are all specified in the URL parameters: &lt;/p&gt; &lt;code&gt; http://charlie/servlet/SampleJdbcServlet?user=guest&amp;amp;password=please&amp;amp;datasource=jdbc/teradata4 &lt;/code&gt; &lt;p&gt; Note that user-defined variables are in &lt;i&gt;italics&lt;/i&gt;. &lt;/p&gt; &lt;h4&gt;Accessing the URL Parameters&lt;/h4&gt; &lt;code&gt; String user = req.getParameter("&lt;i&gt;user&lt;/i&gt;"); &lt;br /&gt; String password = req.getParameter("&lt;i&gt;password&lt;/i&gt;"); &lt;br /&gt; String datasource = req.getParameter("&lt;i&gt;datasource&lt;/i&gt;"); &lt;/code&gt; &lt;h4&gt;Creating the Initial Naming Context&lt;/h4&gt; &lt;code&gt; Context ctx = new InitialContext(); &lt;/code&gt; &lt;h4&gt;Lookup the Data Source&lt;/h4&gt; &lt;code&gt; DataSource ds = (DataSource) ctx.lookup("jdbc/" + datasource); &lt;/code&gt; &lt;h4&gt;Use the Data Source to get Connections&lt;/h4&gt; &lt;code&gt; Connection con = ds.getConnection(user, password); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one obtained from the Driver Manager. &lt;/p&gt; &lt;p&gt; See Appendix A for a complete Application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accdsjsec_60"&gt;&lt;/a&gt; &lt;h3&gt;3.3. Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/h3&gt; &lt;p&gt; An application can access a data source when WebSphere Java 2 security is enforced. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jsec_60"&gt;&lt;/a&gt; &lt;h4&gt;3.3.1. Enforce Java 2 security on WebSphere 6.0&lt;/h4&gt; &lt;p&gt; To enforce Java 2 security on WebSphere 6.0, follow the procedures below: &lt;ul&gt; &lt;li&gt;Logon to WebSphere 6.0 administrative console&lt;/li&gt; &lt;li&gt;Select and expand "Security" on the left navigation pane&lt;/li&gt; &lt;li&gt;Click on Global security&lt;/li&gt; &lt;li&gt;Check the checkbox for "Enforce Java 2 security"&lt;/li&gt; &lt;li&gt;Click "Apply"&lt;/li&gt; &lt;li&gt;Click "Save" to save your workspace changes to the master configuration&lt;/li&gt; &lt;li&gt;The server may need to be restarted for the changes to take effect&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/j2security_60.jpg" /&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usidsjsec_60"&gt;&lt;/a&gt; &lt;h4&gt;3.3.2. Using the DataSource&lt;/h4&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;p&gt; The type 4 Teradata Driver for the JDBC Interface mimics the Communication Processor (COP) discovery behavior of CLI. The type 4 driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. &lt;/p&gt; &lt;p&gt; The above COP discovery approach used by Teradata JDBC driver requires security permissions to be defined in WebSphere dynamic policy files, including app.policy and was.policy. The permission definitions in these dynamic policy files will be described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in app.policy&lt;/h4&gt; &lt;p&gt; The app.policy file is located in the following WebSphere directory location: &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;/span&gt; &lt;p&gt; &amp;lt;WebSphere-Installation-Root&amp;gt/profiles/&amp;lt;profile-name&amp;gt/config/cells/&amp;lt;cell-name&amp;gt/nodes/&amp;lt;node-name&amp;gt &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;p&gt; The app.policy file contains default permissions for all of the enterprise applications in the cell. If security permissions are required for all of the enterprise applications in the cell, these permissions can be defined in app.policy, however, if some security permissions only apply to some specific WebSphere Application Server enterprise application, those permissions must be defined in was.policy, which will be described in the following section. &lt;/p&gt; &lt;p&gt; WebSphere Application Server has the following default permission defined in the app.policy file: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "*", "connect"; &lt;/code&gt; &lt;p&gt; This permission is included in the following segment in app.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "*", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The Teradata JDBC Driver's COP discovery technique is compatible with the default permission in the default app.policy file. However, when a site removes that default permission in order to tighten security, then additional specific permissions are required to support the Teradata JDBC Driver's COP discovery. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then the following permissions are required: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into app.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: If these permissions apply to a specific application only, they should not be defined in app.policy and instead they must be defined in was.policy. The permission definition in was.policy is described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in was.policy&lt;/h4&gt; &lt;p&gt; The was.policy file is packaged in an enterprise archive (EAR) file. The was.policy file contains application-specific permissions for an WebSphere Application Server enterprise application. &lt;/p&gt; &lt;p&gt; The following permissions will be required in was.policy to meet the requirements for the COP discovery approach of Teradata JDBC driver. It should be noted that these permissions in was.policy are for the specific application only where it is packaged. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then following permissions must be defined: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into was.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;br&gt; or:&lt;br&gt; &lt;br&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; Note: When more nodes are added to the Teradata Database system, for example, m more nodes, the following additional permissions must be added to was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file): &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+1", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+m", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; Besides the above SocketPermissions, RuntimePermission and FilePermission may also be needed. Depending upon WebSphere application server configurations and the enterprise application structures, the following permissions may be required in was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file). &lt;/p&gt; &lt;p&gt; Note that you need to substitute the actual directory where the Teradata JDBC Driver is located for "C:/teradatajdbcdriver" shown in the examples below. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "getClassLoader";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/terajdbc4.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssconfig.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; An additional permission must be granted when using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. This permission is not required when using the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssjava.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;p&gt; In WebSphere Application Server 6.0/6.1, applications must have the appropriate thread permissions specified in the was.policy or app.policy file. Without the thread permissions specified, the application cannot manipulate threads and WebSphere Application Server throws a java.security.AccessControlException. Therefore, the following code must be added to was.policy or app.policy file for an application to manipulate threads: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "stopThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThreadGroup";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;h4&gt;Expected java.security.AccessControlException in WebSphere SystemOut.log file&lt;/h4&gt; &lt;p&gt; The COP discovery approach used by Teradata JDBC driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. When this undefined name is encountered, a java.security.AccessControlException is thrown by WebSphere Java 2 security permission configuration. The Teradata JDBC driver handles this Java 2 security exception properly so the COP discovery process will be completed successfully and the application will be able to use the data source without any issues. &lt;/p&gt; &lt;p&gt; However, the above Java 2 security exception will still be logged into WebSphere SystemOut.log file since this AccessControlException is generated by WebSphere Java 2 security configuration and the Teradata JDBC driver has no control over WebSphere Java 2 security configuration. &lt;/p&gt; &lt;p&gt; Assume there are 4 nodes of Teradata Database system, and the following permissions have been defined in was.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP3", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP4", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The WebSphere Java 2 security exception similar to the following contents will be logged into SystemOut.log file: &lt;/p&gt; &lt;code&gt; [11/13/06 14:15:20:836 PST]  c6cf176 SecurityManag W SECJ0314W: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. Please refer to Problem Determination Guide for further information.&lt;br&gt; &lt;br&gt; Permission:&lt;br&gt; &lt;br&gt;       hostnameCOP5 : access denied (java.net.SocketPermission hostnameCOP5 resolve)&lt;br&gt; &lt;br&gt; Code:&lt;br&gt; &lt;br&gt;      com.teradata.jdbc.jdbc_4.io.TDNetworkIO1_3Impl  in  {file:/C:/teradatajdbcdriver/terajdbc4.jar}&lt;br&gt; &lt;br&gt; Stack Trace:&lt;br&gt; &lt;br&gt; java.security.AccessControlException: access denied (java.net.SocketPermission ginghamCOP5 resolve)&lt;br&gt;  at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code))&lt;br&gt;  at java.security.AccessController.checkPermission(AccessController.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkConnect(SecurityManager.java:1054)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:1009)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:990)&lt;br&gt;  at java.net.InetAddress.getAllByName(InetAddress.java:984)&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: Since the Teradata JDBC driver COP discovery logic handles this Java 2 security exception properly so the application will be able to use the data source without any issues. &lt;/p&gt;&lt;!-- End doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp_60"&gt;&lt;/a&gt; &lt;h3&gt;3.4. Performance Parameters&lt;/h3&gt; &lt;p&gt; After a DataSource has been selected and its properties have been displayed, select "Connection Pool" in the "Additional Properties" panel. This will display the values for properties such as "Connection Timeout", "Max Connections" etc. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Max Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; On the page where these values are set, the help text, which can be displayed by clicking the "[i]" box at the right of value, will provide detailed information on the settings and information on how these settings can impact performance. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="ibmws_61"&gt;&lt;/a&gt; &lt;h2&gt;4. IBM WebSphere 6.1&lt;/h2&gt; &lt;p&gt; A Connection Pool is created via the graphical interface of the administrative server. &lt;/p&gt; &lt;p&gt; Please note that there is more than one GUI interface available for the IBM WebSphere product. The information provided here, using WebSphere Application Server 6.1, should be sufficient to allow a user to accomplish the same tasks with the other available GUIs. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp_61"&gt;&lt;/a&gt; &lt;h3&gt;4.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; IBM WebSphere &amp;rarr; Application Server v6.1 &amp;rarr; Profiles &amp;rarr; AppSrv01 &amp;rarr; Administrative console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="addtd_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.2. Add the Teradata JDBC Driver&lt;/h4&gt; &lt;img border="0" src="images/jdbc-providers_61.jpg" /&gt; &lt;p&gt; Under "Resources", click "JDBC" and then "JDBC Providers" in the left pane. &lt;/p&gt; &lt;p&gt; Select appropriate scope for the JDBC provider in the right pane. &lt;/p&gt; &lt;p&gt; Press "New" in the right pane. &lt;/p&gt; &lt;p&gt; The following are the three configuration steps for creating a new JDBC provider: &lt;ul&gt; &lt;li&gt;Create new JDBC provider&lt;/li&gt; &lt;li&gt;Enter database class path information&lt;/li&gt; &lt;li&gt;Summary&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt; The next section discusses these configuration steps and the required configuration information. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="confd_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.3. Configure the Driver&lt;/h4&gt; &lt;p&gt; Now the Driver must be configured as shown below. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the first step: Create new JDBC provider &lt;/p&gt; &lt;img border="0" src="images/config-driver1_61.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;    &lt;td&gt;&lt;h4&gt;Database type&lt;/h4&gt;&lt;/td&gt;    &lt;td&gt;The database type being used.&lt;/td&gt;    &lt;td&gt;User-defined&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;    &lt;td&gt;&lt;h4&gt;Implementation Classname&lt;/h4&gt;&lt;/td&gt;    &lt;td&gt;The name of the Teradata JDBC Driver data source class.&lt;/td&gt;    &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;    &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the driver. This is user-defined.&lt;/td&gt;   &lt;td&gt;Teradata Driver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined.&lt;/td&gt;   &lt;td&gt;Teradata JDBC&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the second step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the second step: Enter database class path information &lt;/p&gt; &lt;img border="0" src="images/config-driver2_61.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Class path&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;   The full path name of the jar files that make up the   Teradata JDBC Driver. The example assumes that                 you have copied these files to the   C:\TeraJDBC directory on your system.   &lt;br /&gt;   &lt;br /&gt;   A path on a Unix machine would use forward slashes to separate its components.   &lt;/td&gt;   &lt;td&gt;   &lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the third step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the third step: Summary &lt;/p&gt; &lt;img border="0" src="images/config-driver3_61.jpg" /&gt; &lt;p&gt; Press "Finish" to submit the changes. &lt;/p&gt; &lt;p&gt; Note that "Teradata Driver" will now appear in the list of JDBC Providers. Click "Teradata Driver", the following screen shot shows the newly created JDBC provider information. &lt;/p&gt; &lt;img border="0" src="images/config-driver_61.jpg" /&gt; &lt;p&gt; To create a data source, click "Data Sources" on the right side in the pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="creds_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.4. Create the Data Source&lt;/h4&gt; &lt;p&gt; The following figure shows how to create a Data Source. &lt;/p&gt; &lt;img border="0" src="images/create-ds_61.jpg" /&gt; &lt;p&gt; Click "New" in the "Data Sources" pane. &lt;/p&gt; &lt;p&gt; The following are the three configuration steps for creating a data source: &lt;ul&gt; &lt;li&gt;Enter basic data source information&lt;/li&gt; &lt;li&gt;Enter database specific properties for data source&lt;/li&gt; &lt;li&gt;Summary&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt; The next section discusses these configuration steps and the required configuration information. &lt;/p&gt; &lt;p&gt; Note:  A version 4.x Data Source can also be configured. The required fields are a subset of version 5.x and so are not listed here. The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="conds_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.5. Configure the Data Source&lt;/h4&gt; &lt;p&gt; Configure the Data Source by entering the data as shown below. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the first step: Enter basic data source information &lt;/p&gt; &lt;img border="0" src="images/config-ds1_61.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data source name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this resource.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;jdbc/teradata4&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the second step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the second step: Enter database specific properties for data source &lt;/p&gt; &lt;img border="0" src="images/config-ds2_61.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data store helper class name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Data store helper classes provided by WebSphere&lt;/td&gt;   &lt;td&gt;Select the default value "com.ibm.websphere.rsadapter.GenericDataStoreHelper".&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Container Managed Persistence&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Set if Data Source will be used for CMP of EJBs.&lt;/td&gt;   &lt;td&gt;Check this box if the Data Source will be used with CMP entity beans. Otherwise, leave it unchecked.&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the third step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the third step: Summary &lt;/p&gt; &lt;img border="0" src="images/config-ds3_61.jpg" /&gt; &lt;p&gt; Press "Finish" to submit the changes. &lt;/p&gt; &lt;p&gt; The following screen shot shows the newly created data source information. &lt;/p&gt; &lt;img border="0" src="images/config-ds_61.jpg" /&gt; &lt;p&gt; Now, under "Additional Properties" in the right pane, click "Custom properties". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sdscp_61"&gt;&lt;/a&gt; &lt;h4&gt;4.1.6. Set Data Source Custom Properties&lt;/h4&gt; &lt;p&gt; In the "Custom properties" pane, WebSphere 6.1 lists all possible custom properties based on Teradata JDBC driver jar files in the class path. You can insert the values for the properties you are trying to define, or you can create a custom property by clicking "New" button. &lt;/p&gt; &lt;p&gt; The following figures show how to set the custom properties of the Data Source such as user name, password and data source name. &lt;/p&gt; &lt;p&gt; Set custom property "user": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props1_61.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; Set custom property "DSName": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props2_61.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; Set custom property "password": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props3_61.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; The required custom property information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Name&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Description&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;DSName&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The hostname of the Teradata Database.&lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;user&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The password.&lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Note: The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties &lt;/p&gt; &lt;p&gt; In addition to the above parameters, all of the parameters that can be specified in a Teradata JDBC connection URL can also be specified here. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;ul&gt; &lt;li&gt;When using TTU 8.0 Teradata JDBC Driver 3.2, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.02.00, B035-2403-104A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.1 Teradata JDBC Driver 3.3, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.03.00, B035-2403-115A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.2 Teradata JDBC Driver 3.4, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.04.00, B035-2403-096A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 12.0 Teradata JDBC Driver, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 12.00.00, B035-2403-067A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 13.0 Teradata JDBC Driver, please refer to the Teradata JDBC Driver User Guide, Release 13.00.00, B035-2403-088A for more details.&lt;/li&gt; &lt;/ul&gt; &lt;!-- End doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Save" to save your changes. The connection can be tested by selecting the data source and clicking "Test Connection" as shown in the figure below. Please note that the values shown above specify a specific account on a specific database. You will need to modify the value portion of these properties to match the Teradata Database you are accessing. &lt;/p&gt; &lt;img border="0" src="images/testcon_61.jpg" /&gt; &lt;p&gt; You should see a message similar to "The test connection operation for data source Teradata on server server1 at node WUSJY185005-ZBRNode01 was successful with 1 warning(s). View JVM logs for further details.". &lt;/p&gt; &lt;p&gt; The warning message corresponds to a log entry generated by WebSphere: "DSRA0174W: Warning: GenericDataStoreHelper is being used" and does not indicate any actual problems with the datasource. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds_61"&gt;&lt;/a&gt; &lt;h3&gt;4.2. Accessing the DataSource via a Java Servlet&lt;/h3&gt; &lt;p&gt; A Java servlet can access a data source to get pooled connections. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs_61"&gt;&lt;/a&gt; &lt;h4&gt;4.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; With WebSphere, a JDBC Provider is defined to specify information about the JDBC driver. After the JDBC Provider has been defined, then one or more Data Sources can be configured for the JDBC Provider. After each Data Source has been defined, Custom Properties can be configured for each Data Source. &lt;/p&gt; &lt;p&gt; The Data Source's "user" and "password" Custom Properties are optional. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then they serve as the    default values when an application calls DataSource.getConnection().&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then the application can    override those default values by calling DataSource.getConnection(username,password).&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are not defined, then an application must    call DataSource.getConnection(username,password) in order to connect to the database.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; In other words, user and password values must be specified either as Custom Properties, or as arguments to DataSource.getConnection(username,password), or both; and when both are specified, then the arguments to DataSource.getConnection(username,password) override the "user" and "password" Custom Properties defined for a Data Source. &lt;/p&gt; &lt;p&gt; A SQLException will be thrown if user and password values are not specified in either Custom Properties, or as arguments to DataSource.getConnection(username,password). &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata JDBC Driver] : Single Sign-On NOT supported for Mechanism TD2.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;HY000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;1032&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A SQLException will be thrown if user and password values are specified, but the specified user or password are invalid. Note that invalid user and password values specified as arguments to DataSource.getConnection(username,password) will override correct user and password values specified in Custom Properties. When DataSource.getConnection(username,password) is called but authentication fails, WebSphere does not "fallback" to use the values specified in Custom Properties. &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : Invalid password.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;28000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3003&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids_61"&gt;&lt;/a&gt; &lt;h4&gt;4.2.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The servlet is accessed via a URL similar to the following: &lt;/p&gt; &lt;code&gt; http://server/servlet/servletname &lt;/code&gt; &lt;p&gt; In the example, the username, password and datasource name are all specified in the URL parameters: &lt;/p&gt; &lt;code&gt; http://charlie/servlet/SampleJdbcServlet?user=guest&amp;amp;password=please&amp;amp;datasource=jdbc/teradata4 &lt;/code&gt; &lt;p&gt; Note that user-defined variables are in &lt;i&gt;italics&lt;/i&gt;. &lt;/p&gt; &lt;h4&gt;Accessing the URL Parameters&lt;/h4&gt; &lt;code&gt; String user = req.getParameter("&lt;i&gt;user&lt;/i&gt;"); &lt;br /&gt; String password = req.getParameter("&lt;i&gt;password&lt;/i&gt;"); &lt;br /&gt; String datasource = req.getParameter("&lt;i&gt;datasource&lt;/i&gt;"); &lt;/code&gt; &lt;h4&gt;Creating the Initial Naming Context&lt;/h4&gt; &lt;code&gt; Context ctx = new InitialContext(); &lt;/code&gt; &lt;h4&gt;Lookup the Data Source&lt;/h4&gt; &lt;code&gt; DataSource ds = (DataSource) ctx.lookup("jdbc/" + datasource); &lt;/code&gt; &lt;h4&gt;Use the Data Source to get Connections&lt;/h4&gt; &lt;code&gt; Connection con = ds.getConnection(user, password); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one obtained from the Driver Manager. &lt;/p&gt; &lt;p&gt; See Appendix A for a complete Application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accdsjsec_61"&gt;&lt;/a&gt; &lt;h3&gt;4.3. Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/h3&gt; &lt;p&gt; An application can access a data source when WebSphere Java 2 security is enforced. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jsec_61"&gt;&lt;/a&gt; &lt;h4&gt;4.3.1. Enforce Java 2 security on WebSphere 6.1&lt;/h4&gt; &lt;p&gt; To enforce Java 2 security on WebSphere 6.1, follow the procedures below: &lt;ul&gt; &lt;li&gt;Logon to WebSphere 6.1 administrative console&lt;/li&gt; &lt;li&gt;Select and expand "Security" on the left navigation pane&lt;/li&gt; &lt;li&gt;Click on "Secure administration, applications, and infrastructure"&lt;/li&gt; &lt;li&gt;In "Java 2 security" section on "Configuration" pane, check the checkbox for "Use Java 2 security to restrict application access to local resources"&lt;/li&gt; &lt;li&gt;Click "Apply"&lt;/li&gt; &lt;li&gt;Click "Save" to save your workspace changes to the master configuration&lt;/li&gt; &lt;li&gt;The server may need to be restarted for the changes to take effect&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/j2security_61.jpg" /&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usidsjsec_61"&gt;&lt;/a&gt; &lt;h4&gt;4.3.2. Using the DataSource&lt;/h4&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;p&gt; The type 4 Teradata Driver for the JDBC Interface mimics the Communication Processor (COP) discovery behavior of CLI. The type 4 driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. &lt;/p&gt; &lt;p&gt; The above COP discovery approach used by Teradata JDBC driver requires security permissions to be defined in WebSphere dynamic policy files, including app.policy and was.policy. The permission definitions in these dynamic policy files will be described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in app.policy&lt;/h4&gt; &lt;p&gt; The app.policy file is located in the following WebSphere directory location: &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;/span&gt; &lt;p&gt; &amp;lt;WebSphere-Installation-Root&amp;gt/profiles/&amp;lt;profile-name&amp;gt/config/cells/&amp;lt;cell-name&amp;gt/nodes/&amp;lt;node-name&amp;gt &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;p&gt; The app.policy file contains default permissions for all of the enterprise applications in the cell. If security permissions are required for all of the enterprise applications in the cell, these permissions can be defined in app.policy, however, if some security permissions only apply to some specific WebSphere Application Server enterprise application, those permissions must be defined in was.policy, which will be described in the following section. &lt;/p&gt; &lt;p&gt; WebSphere Application Server has the following default permission defined in the app.policy file: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "*", "connect"; &lt;/code&gt; &lt;p&gt; This permission is included in the following segment in app.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "*", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The Teradata JDBC Driver's COP discovery technique is compatible with the default permission in the default app.policy file. However, when a site removes that default permission in order to tighten security, then additional specific permissions are required to support the Teradata JDBC Driver's COP discovery. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then the following permissions are required: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into app.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: If these permissions apply to a specific application only, they should not be defined in app.policy and instead they must be defined in was.policy. The permission definition in was.policy is described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in was.policy&lt;/h4&gt; &lt;p&gt; The was.policy file is packaged in an enterprise archive (EAR) file. The was.policy file contains application-specific permissions for an WebSphere Application Server enterprise application. &lt;/p&gt; &lt;p&gt; The following permissions will be required in was.policy to meet the requirements for the COP discovery approach of Teradata JDBC driver. It should be noted that these permissions in was.policy are for the specific application only where it is packaged. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then following permissions must be defined: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into was.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;br&gt; or:&lt;br&gt; &lt;br&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; Note: When more nodes are added to the Teradata Database system, for example, m more nodes, the following additional permissions must be added to was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file): &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+1", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+m", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; Besides the above SocketPermissions, RuntimePermission and FilePermission may also be needed. Depending upon WebSphere application server configurations and the enterprise application structures, the following permissions may be required in was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file). &lt;/p&gt; &lt;p&gt; Note that you need to substitute the actual directory where the Teradata JDBC Driver is located for "C:/teradatajdbcdriver" shown in the examples below. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "getClassLoader";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/terajdbc4.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssconfig.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; An additional permission must be granted when using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. This permission is not required when using the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssjava.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;p&gt; In WebSphere Application Server 6.0/6.1, applications must have the appropriate thread permissions specified in the was.policy or app.policy file. Without the thread permissions specified, the application cannot manipulate threads and WebSphere Application Server throws a java.security.AccessControlException. Therefore, the following code must be added to was.policy or app.policy file for an application to manipulate threads: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "stopThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThreadGroup";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;h4&gt;Expected java.security.AccessControlException in WebSphere SystemOut.log file&lt;/h4&gt; &lt;p&gt; The COP discovery approach used by Teradata JDBC driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. When this undefined name is encountered, a java.security.AccessControlException is thrown by WebSphere Java 2 security permission configuration. The Teradata JDBC driver handles this Java 2 security exception properly so the COP discovery process will be completed successfully and the application will be able to use the data source without any issues. &lt;/p&gt; &lt;p&gt; However, the above Java 2 security exception will still be logged into WebSphere SystemOut.log file since this AccessControlException is generated by WebSphere Java 2 security configuration and the Teradata JDBC driver has no control over WebSphere Java 2 security configuration. &lt;/p&gt; &lt;p&gt; Assume there are 4 nodes of Teradata Database system, and the following permissions have been defined in was.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP3", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP4", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The WebSphere Java 2 security exception similar to the following contents will be logged into SystemOut.log file: &lt;/p&gt; &lt;code&gt; [11/13/06 14:15:20:836 PST]  c6cf176 SecurityManag W SECJ0314W: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. Please refer to Problem Determination Guide for further information.&lt;br&gt; &lt;br&gt; Permission:&lt;br&gt; &lt;br&gt;       hostnameCOP5 : access denied (java.net.SocketPermission hostnameCOP5 resolve)&lt;br&gt; &lt;br&gt; Code:&lt;br&gt; &lt;br&gt;      com.teradata.jdbc.jdbc_4.io.TDNetworkIO1_3Impl  in  {file:/C:/teradatajdbcdriver/terajdbc4.jar}&lt;br&gt; &lt;br&gt; Stack Trace:&lt;br&gt; &lt;br&gt; java.security.AccessControlException: access denied (java.net.SocketPermission ginghamCOP5 resolve)&lt;br&gt;  at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code))&lt;br&gt;  at java.security.AccessController.checkPermission(AccessController.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkConnect(SecurityManager.java:1054)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:1009)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:990)&lt;br&gt;  at java.net.InetAddress.getAllByName(InetAddress.java:984)&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: Since the Teradata JDBC driver COP discovery logic handles this Java 2 security exception properly so the application will be able to use the data source without any issues. &lt;/p&gt;&lt;!-- End doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp_61"&gt;&lt;/a&gt; &lt;h3&gt;4.4. Performance Parameters&lt;/h3&gt; &lt;p&gt; After a DataSource has been selected and its properties have been displayed, select "Connection Pool" in the "Additional Properties" panel. This will display the values for properties such as "Connection Timeout", "Maximum Connections" etc. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; On the page where these values are set, the help text, which can be displayed by moving the mouse pointer over the property name, will provide detailed information on the settings and information on how these settings can impact performance. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="ibmws_70"&gt;&lt;/a&gt; &lt;h2&gt;5. IBM WebSphere 7.0&lt;/h2&gt; &lt;p&gt; A Connection Pool is created via the graphical interface of the administrative server. &lt;/p&gt; &lt;p&gt; Please note that there is more than one GUI interface available for the IBM WebSphere product. The information provided here, using WebSphere Application Server 7.0, should be sufficient to allow a user to accomplish the same tasks with the other available GUIs. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp_70"&gt;&lt;/a&gt; &lt;h3&gt;5.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; IBM WebSphere &amp;rarr; Application Server v7.0 &amp;rarr; Profiles &amp;rarr; AppSrv01 &amp;rarr; Administrative console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="addtd_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.2. Add the Teradata JDBC Driver&lt;/h4&gt; &lt;img border="0" src="images/jdbc-providers_70.jpg" /&gt; &lt;p&gt; Under "Resources", click "JDBC" and then "JDBC Providers" in the left pane. &lt;/p&gt; &lt;p&gt; Select appropriate scope for the JDBC provider in the right pane. &lt;/p&gt; &lt;p&gt; Press "New" in the right pane. &lt;/p&gt; &lt;p&gt; The following are the four configuration steps for creating a new JDBC provider: &lt;ul&gt; &lt;li&gt;Create new JDBC provider&lt;/li&gt; &lt;li&gt;Enter database class path information&lt;/li&gt; &lt;li&gt;Summary&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt; The next section discusses these configuration steps and the required configuration information. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="confd_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.3. Configure the Driver&lt;/h4&gt; &lt;p&gt; Now the Driver must be configured as shown below. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the first step: Create new JDBC provider &lt;/p&gt; &lt;img border="0" src="images/config-driver1_70.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;    &lt;td&gt;&lt;h4&gt;Database type&lt;/h4&gt;&lt;/td&gt;    &lt;td&gt;The database type being used.&lt;/td&gt;    &lt;td&gt;User-defined&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;    &lt;td&gt;&lt;h4&gt;Implementation Classname&lt;/h4&gt;&lt;/td&gt;    &lt;td&gt;The name of the Teradata JDBC Driver data source class.&lt;/td&gt;    &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;    &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the driver. This is user-defined.&lt;/td&gt;   &lt;td&gt;Teradata Driver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined.&lt;/td&gt;   &lt;td&gt;Teradata JDBC&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the second step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the second step: Enter database class path information &lt;/p&gt; &lt;img border="0" src="images/config-driver2_70.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Class path&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;   The full path name of the jar files that make up the   Teradata JDBC Driver. The example assumes that                 you have copied these files to the   C:\TeraJDBC directory on your system.   &lt;br /&gt;   &lt;br /&gt;   A path on a Unix machine would use forward slashes to separate its components.   &lt;/td&gt;   &lt;td&gt;   &lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the third step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the third step: Summary &lt;/p&gt; &lt;img border="0" src="images/config-driver3_70.jpg" /&gt; &lt;p&gt; Press "Finish" to submit the changes. &lt;/p&gt; &lt;p&gt; Note that "Teradata Driver" will now appear in the list of JDBC Providers. Click "Teradata Driver", the following screen shot shows the newly created JDBC provider information. &lt;/p&gt; &lt;img border="0" src="images/config-driver_70.jpg" /&gt; &lt;p&gt; To create a data source, click "Data Sources" on the right side in the pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="creds_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.4. Create the Data Source&lt;/h4&gt; &lt;p&gt; The following figure shows how to create a Data Source. &lt;/p&gt; &lt;img border="0" src="images/create-ds_70.jpg" /&gt; &lt;p&gt; Click "New" in the "Data Sources" pane. &lt;/p&gt; &lt;p&gt; The following are the four configuration steps for creating a data source: &lt;ul&gt; &lt;li&gt;Enter basic data source information&lt;/li&gt; &lt;li&gt;Enter database specific properties for data source&lt;/li&gt; &lt;li&gt;Enter security aliases&lt;/li&gt; &lt;li&gt;Summary&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt; The next section discusses these configuration steps and the required configuration information. &lt;/p&gt; &lt;p&gt; Note:  A version 4.x Data Source can also be configured. The required fields are a subset of version 5.x and so are not listed here. The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="conds_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.5. Configure the Data Source&lt;/h4&gt; &lt;p&gt; Configure the Data Source by entering the data as shown below. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the first step: Enter basic data source information &lt;/p&gt; &lt;img border="0" src="images/config-ds1_70.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data source name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The user-defined display name for this resource.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;jdbc/teradata4&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the second step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the second step: Enter database specific properties for data source &lt;/p&gt; &lt;img border="0" src="images/config-ds2_70.jpg" /&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data store helper class name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Data store helper classes provided by WebSphere&lt;/td&gt;   &lt;td&gt;Select the default value "com.ibm.websphere.rsadapter.GenericDataStoreHelper".&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Container Managed Persistence&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Set if Data Source will be used for CMP of EJBs.&lt;/td&gt;   &lt;td&gt;Check this box if the Data Source will be used with CMP entity beans. Otherwise, leave it unchecked.&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Press "Next" to move to the third step. &lt;/p&gt; &lt;p&gt; The following screen shot illustrates the third step: Setup security aliases &lt;/p&gt; &lt;img border="0" src="images/config-ds2a_70.jpg" /&gt; &lt;p&gt; Accept the defaults of "none". &lt;/p&gt; &lt;p&gt; The required configuration information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Component Managed Authentication alias&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;None&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Mapping-configuaration &lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;None&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Component Managed Authentication alias&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;None&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;p&gt; The following screen shot illustrates the fourth step: Summary &lt;/p&gt; &lt;img border="0" src="images/config-ds3_70.jpg" /&gt; &lt;p&gt; Press "Finish" to submit the changes. &lt;/p&gt; &lt;p&gt; The following screen shot shows the newly created data source information. &lt;/p&gt; &lt;img border="0" src="images/config-ds_70.jpg" /&gt; &lt;p&gt; Now, under "Additional Properties" in the right pane, click "Custom properties". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sdscp_70"&gt;&lt;/a&gt; &lt;h4&gt;5.1.6. Set Data Source Custom Properties&lt;/h4&gt; &lt;p&gt; In the "Custom properties" pane, WebSphere 7.0 lists all possible custom properties based on Teradata JDBC driver jar files in the class path. You can insert the values for the properties you are trying to define, or you can create a custom property by clicking "New" button. &lt;/p&gt; &lt;p&gt; The following figures show how to set the custom properties of the Data Source such as user name, password and data source name. &lt;/p&gt; &lt;p&gt; Set custom property "user": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props1_70.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; Set custom property "DSName": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props2_70.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; Set custom property "password": &lt;br&gt;&lt;br&gt; &lt;img border="0" src="images/custom-props3_70.jpg" /&gt;&lt;br&gt; &lt;/p&gt; &lt;br&gt; &lt;p&gt; The required custom property information is listed in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Name&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Description&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;DSName&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The hostname of the Teradata Database.&lt;/td&gt;   &lt;td&gt;xpsys03&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;user&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The password.&lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Note: The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties &lt;/p&gt; &lt;p&gt; In addition to the above parameters, all of the parameters that can be specified in a Teradata JDBC connection URL can also be specified here. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;ul&gt; &lt;li&gt;When using TTU 8.0 Teradata JDBC Driver 3.2, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.02.00, B035-2403-104A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.1 Teradata JDBC Driver 3.3, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.03.00, B035-2403-115A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 8.2 Teradata JDBC Driver 3.4, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 03.04.00, B035-2403-096A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 12.0 Teradata JDBC Driver, please refer to the "Teradata Driver for the JDBC Interface" User Guide, Release 12.00.00, B035-2403-067A for more details.&lt;/li&gt; &lt;li&gt;When using TTU 13.0 Teradata JDBC Driver, please refer to the Teradata JDBC Driver User Guide, Release 13.00.00, B035-2403-088A for more details.&lt;/li&gt; &lt;/ul&gt; &lt;!-- End doc\src\pages\..\common\referToUserGuide.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Save" to save your changes. The connection can be tested by selecting the data source and clicking "Test Connection" as shown in the figure below. Please note that the values shown above specify a specific account on a specific database. You will need to modify the value portion of these properties to match the Teradata Database you are accessing. &lt;/p&gt; &lt;img border="0" src="images/testcon_70.jpg" /&gt; &lt;p&gt; You should see a message similar to "The test connection operation for data source Teradata on server server1 at node WUSJY185005-ZBRNode01 was successful with 1 warning(s). View JVM logs for further details.". &lt;/p&gt; &lt;p&gt; The warning message corresponds to a log entry generated by WebSphere: "DSRA0174W: Warning: GenericDataStoreHelper is being used" and does not indicate any actual problems with the datasource. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds_70"&gt;&lt;/a&gt; &lt;h3&gt;5.2. Accessing the DataSource via a Java Servlet&lt;/h3&gt; &lt;p&gt; A Java servlet can access a data source to get pooled connections. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs_70"&gt;&lt;/a&gt; &lt;h4&gt;5.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; With WebSphere, a JDBC Provider is defined to specify information about the JDBC driver. After the JDBC Provider has been defined, then one or more Data Sources can be configured for the JDBC Provider. After each Data Source has been defined, Custom Properties can be configured for each Data Source. &lt;/p&gt; &lt;p&gt; The Data Source's "user" and "password" Custom Properties are optional. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then they serve as the    default values when an application calls DataSource.getConnection().&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are defined, then the application can    override those default values by calling DataSource.getConnection(username,password).&lt;/li&gt; &lt;li&gt;If "user" and "password" Custom Properties are not defined, then an application must    call DataSource.getConnection(username,password) in order to connect to the database.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; In other words, user and password values must be specified either as Custom Properties, or as arguments to DataSource.getConnection(username,password), or both; and when both are specified, then the arguments to DataSource.getConnection(username,password) override the "user" and "password" Custom Properties defined for a Data Source. &lt;/p&gt; &lt;p&gt; A SQLException will be thrown if user and password values are not specified in either Custom Properties, or as arguments to DataSource.getConnection(username,password). &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata JDBC Driver] : Single Sign-On NOT supported for Mechanism TD2.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;HY000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;1032&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A SQLException will be thrown if user and password values are specified, but the specified user or password are invalid. Note that invalid user and password values specified as arguments to DataSource.getConnection(username,password) will override correct user and password values specified in Custom Properties. When DataSource.getConnection(username,password) is called but authentication fails, WebSphere does not "fallback" to use the values specified in Custom Properties. &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : Invalid password.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;28000&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3003&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08004&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;3004&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids_70"&gt;&lt;/a&gt; &lt;h4&gt;5.2.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The servlet is accessed via a URL similar to the following: &lt;/p&gt; &lt;code&gt; http://server/servlet/servletname &lt;/code&gt; &lt;p&gt; In the example, the username, password and datasource name are all specified in the URL parameters: &lt;/p&gt; &lt;code&gt; http://charlie/servlet/SampleJdbcServlet?user=guest&amp;amp;password=please&amp;amp;datasource=jdbc/teradata4 &lt;/code&gt; &lt;p&gt; Note that user-defined variables are in &lt;i&gt;italics&lt;/i&gt;. &lt;/p&gt; &lt;h4&gt;Accessing the URL Parameters&lt;/h4&gt; &lt;code&gt; String user = req.getParameter("&lt;i&gt;user&lt;/i&gt;"); &lt;br /&gt; String password = req.getParameter("&lt;i&gt;password&lt;/i&gt;"); &lt;br /&gt; String datasource = req.getParameter("&lt;i&gt;datasource&lt;/i&gt;"); &lt;/code&gt; &lt;h4&gt;Creating the Initial Naming Context&lt;/h4&gt; &lt;code&gt; Context ctx = new InitialContext(); &lt;/code&gt; &lt;h4&gt;Lookup the Data Source&lt;/h4&gt; &lt;code&gt; DataSource ds = (DataSource) ctx.lookup("jdbc/" + datasource); &lt;/code&gt; &lt;h4&gt;Use the Data Source to get Connections&lt;/h4&gt; &lt;code&gt; Connection con = ds.getConnection(user, password); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one obtained from the Driver Manager. &lt;/p&gt; &lt;p&gt; See Appendix A for a complete Application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accdsjsec_70"&gt;&lt;/a&gt; &lt;h3&gt;5.3. Accessing the DataSource with WebSphere Java 2 Security Enforced&lt;/h3&gt; &lt;p&gt; An application can access a data source when WebSphere Java 2 security is enforced. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jsec_70"&gt;&lt;/a&gt; &lt;h4&gt;5.3.1. Enforce Java 2 security on WebSphere 7.0&lt;/h4&gt; &lt;p&gt; To enforce Java 2 security on WebSphere 7.0, follow the procedures below: &lt;ul&gt; &lt;li&gt;Logon to WebSphere 7.0 administrative console&lt;/li&gt; &lt;li&gt;Select and expand "Security" on the left navigation pane&lt;/li&gt; &lt;li&gt;Click on "Global Security"&lt;/li&gt; &lt;li&gt;In "Java 2 security" section on "Configuration" pane, check the checkbox for "Use Java 2 security to restrict application access to local resources"&lt;/li&gt; &lt;li&gt;Click "Apply"&lt;/li&gt; &lt;li&gt;Click "Save" to save your workspace changes to the master configuration&lt;/li&gt; &lt;li&gt;The server may need to be restarted for the changes to take effect&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/j2security_70.jpg" /&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usidsjsec_70"&gt;&lt;/a&gt; &lt;h4&gt;5.3.2. Using the DataSource&lt;/h4&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;p&gt; The type 4 Teradata Driver for the JDBC Interface mimics the Communication Processor (COP) discovery behavior of CLI. The type 4 driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. &lt;/p&gt; &lt;p&gt; The above COP discovery approach used by Teradata JDBC driver requires security permissions to be defined in WebSphere dynamic policy files, including app.policy and was.policy. The permission definitions in these dynamic policy files will be described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in app.policy&lt;/h4&gt; &lt;p&gt; The app.policy file is located in the following WebSphere directory location: &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec1.html --&gt;&lt;/span&gt; &lt;p&gt; &amp;lt;WebSphere-Installation-Root&amp;gt/profiles/&amp;lt;profile-name&amp;gt/config/cells/&amp;lt;cell-name&amp;gt/nodes/&amp;lt;node-name&amp;gt &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;p&gt; The app.policy file contains default permissions for all of the enterprise applications in the cell. If security permissions are required for all of the enterprise applications in the cell, these permissions can be defined in app.policy, however, if some security permissions only apply to some specific WebSphere Application Server enterprise application, those permissions must be defined in was.policy, which will be described in the following section. &lt;/p&gt; &lt;p&gt; WebSphere Application Server has the following default permission defined in the app.policy file: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "*", "connect"; &lt;/code&gt; &lt;p&gt; This permission is included in the following segment in app.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "*", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The Teradata JDBC Driver's COP discovery technique is compatible with the default permission in the default app.policy file. However, when a site removes that default permission in order to tighten security, then additional specific permissions are required to support the Teradata JDBC Driver's COP discovery. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then the following permissions are required: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into app.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.io.FilePermission "${was.module.path}${/}-", "read, write";&lt;br&gt; permission java.lang.RuntimePermission "loadLibrary.*";&lt;br&gt; permission java.lang.RuntimePermission "queuePrintJob";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.util.PropertyPermission "*", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: If these permissions apply to a specific application only, they should not be defined in app.policy and instead they must be defined in was.policy. The permission definition in was.policy is described below. &lt;/p&gt; &lt;h4&gt;Defining permissions in was.policy&lt;/h4&gt; &lt;p&gt; The was.policy file is packaged in an enterprise archive (EAR) file. The was.policy file contains application-specific permissions for an WebSphere Application Server enterprise application. &lt;/p&gt; &lt;p&gt; The following permissions will be required in was.policy to meet the requirements for the COP discovery approach of Teradata JDBC driver. It should be noted that these permissions in was.policy are for the specific application only where it is packaged. &lt;/p&gt; &lt;p&gt; Assume there are n nodes of Teradata Database system, then following permissions must be defined: &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; These permissions must be inserted into was.policy like: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;br&gt; or:&lt;br&gt; &lt;br&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; Note: When more nodes are added to the Teradata Database system, for example, m more nodes, the following additional permissions must be added to was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file): &lt;/p&gt; &lt;code&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+1", "connect";&lt;br&gt; ......&lt;br&gt; permission java.net.SocketPermission "hostnameCOPn+m", "connect";&lt;br&gt; &lt;/code&gt; &lt;p&gt; Besides the above SocketPermissions, RuntimePermission and FilePermission may also be needed. Depending upon WebSphere application server configurations and the enterprise application structures, the following permissions may be required in was.policy (if these permissions need to apply to all the applications in the cell, then they must be defined in the app.policy file). &lt;/p&gt; &lt;p&gt; Note that you need to substitute the actual directory where the Teradata JDBC Driver is located for "C:/teradatajdbcdriver" shown in the examples below. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "getClassLoader";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/terajdbc4.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;br&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssconfig.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; An additional permission must be granted when using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. This permission is not required when using the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.io.FilePermission&lt;br&gt; "C:/teradatajdbcdriver/tdgssjava.jar", "read";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec2.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;p&gt; In WebSphere Application Server 6.0/6.1, applications must have the appropriate thread permissions specified in the was.policy or app.policy file. Without the thread permissions specified, the application cannot manipulate threads and WebSphere Application Server throws a java.security.AccessControlException. Therefore, the following code must be added to was.policy or app.policy file for an application to manipulate threads: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${application}" {&lt;br&gt; permission java.lang.RuntimePermission "stopThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThread";&lt;br&gt; permission java.lang.RuntimePermission "modifyThreadGroup";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\wasJava2sec3.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;h4&gt;Expected java.security.AccessControlException in WebSphere SystemOut.log file&lt;/h4&gt; &lt;p&gt; The COP discovery approach used by Teradata JDBC driver first finds all defined COPs. Starting with "COP1", which is appended to the database hostname, and then proceeds with "COP2", "COP3", "..., COPn" until an undefined name is reached. When this undefined name is encountered, a java.security.AccessControlException is thrown by WebSphere Java 2 security permission configuration. The Teradata JDBC driver handles this Java 2 security exception properly so the COP discovery process will be completed successfully and the application will be able to use the data source without any issues. &lt;/p&gt; &lt;p&gt; However, the above Java 2 security exception will still be logged into WebSphere SystemOut.log file since this AccessControlException is generated by WebSphere Java 2 security configuration and the Teradata JDBC driver has no control over WebSphere Java 2 security configuration. &lt;/p&gt; &lt;p&gt; Assume there are 4 nodes of Teradata Database system, and the following permissions have been defined in was.policy: &lt;/p&gt; &lt;code&gt; grant codeBase "file:${webComponent}" {&lt;br&gt; permission java.net.SocketPermission "hostnameCOP1", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP2", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP3", "connect";&lt;br&gt; permission java.net.SocketPermission "hostnameCOP4", "connect";&lt;br&gt; };&lt;br&gt; &lt;/code&gt; &lt;p&gt; The WebSphere Java 2 security exception similar to the following contents will be logged into SystemOut.log file: &lt;/p&gt; &lt;code&gt; [11/13/06 14:15:20:836 PST]  c6cf176 SecurityManag W SECJ0314W: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. Please refer to Problem Determination Guide for further information.&lt;br&gt; &lt;br&gt; Permission:&lt;br&gt; &lt;br&gt;       hostnameCOP5 : access denied (java.net.SocketPermission hostnameCOP5 resolve)&lt;br&gt; &lt;br&gt; Code:&lt;br&gt; &lt;br&gt;      com.teradata.jdbc.jdbc_4.io.TDNetworkIO1_3Impl  in  {file:/C:/teradatajdbcdriver/terajdbc4.jar}&lt;br&gt; &lt;br&gt; Stack Trace:&lt;br&gt; &lt;br&gt; java.security.AccessControlException: access denied (java.net.SocketPermission ginghamCOP5 resolve)&lt;br&gt;  at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code))&lt;br&gt;  at java.security.AccessController.checkPermission(AccessController.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java(Compiled Code))&lt;br&gt;  at java.lang.SecurityManager.checkConnect(SecurityManager.java:1054)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:1009)&lt;br&gt;  at java.net.InetAddress.getAllByName0(InetAddress.java:990)&lt;br&gt;  at java.net.InetAddress.getAllByName(InetAddress.java:984)&lt;br&gt; &lt;/code&gt; &lt;p&gt; NOTE: Since the Teradata JDBC driver COP discovery logic handles this Java 2 security exception properly so the application will be able to use the data source without any issues. &lt;/p&gt;&lt;!-- End doc\src\pages\..\common\wasJava2sec4.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp_70"&gt;&lt;/a&gt; &lt;h3&gt;5.4. Performance Parameters&lt;/h3&gt; &lt;p&gt; After a DataSource has been selected and its properties have been displayed, select "Connection Pool" in the "Additional Properties" panel. This will display the values for properties such as "Connection Timeout", "Maximum Connections" etc. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; On the page where these values are set, the help text, which can be displayed by moving the mouse pointer over the property name, will provide detailed information on the settings and information on how these settings can impact performance. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="wssad"&gt;&lt;/a&gt; &lt;h2&gt;6. WebSphere Studio Application Developer&lt;/h2&gt; &lt;p&gt; The Data Source is created via the Application Developer graphical interface. &lt;/p&gt; &lt;p&gt; Note: This example requires that the optional "WebSphere Application Server V5.1 Integrated Test Environment" has been installed with Application Developer. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cpadi"&gt;&lt;/a&gt; &lt;h3&gt;6.1. Connection Pool via Application Developer Interface&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stad2"&gt;&lt;/a&gt; &lt;h4&gt;6.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Start the Administrative Console &lt;/p&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; IBM WebSphere Studio &amp;rarr; Application Developer 5.1.2 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="opsvp"&gt;&lt;/a&gt; &lt;h4&gt;6.1.2. Open the Server Perspective&lt;/h4&gt; &lt;img border="0" src="images/server-persp.jpg" /&gt; &lt;p&gt; Select Window &amp;rarr; open Perspective &amp;rarr; Server &lt;/p&gt; &lt;p&gt; In the left "Navigator" Pane, Right click to select &lt;/p&gt; &lt;p&gt; New &amp;rarr; Server and Server Configuration &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="csasc"&gt;&lt;/a&gt; &lt;h4&gt;6.1.3. Create Server and Server Configuration&lt;/h4&gt; &lt;img border="0" src="images/new-server.jpg" /&gt; &lt;p&gt; Select the values of the "Server name" and "Server Type" as noted in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Server Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name you will later use to refer to this Server and Server Configuration.&lt;/td&gt;   &lt;td&gt;TeraServer&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Server Type&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Identifies the development environment.&lt;/td&gt;   &lt;td&gt;WebSphere Version 5.1 Test Environment&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Now, click on the "Next" button to continue. &lt;/p&gt; &lt;p&gt; For this exercise, we will stay with the default HTTP port number of 9080. &lt;/p&gt; &lt;p&gt; Click on "Finish". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="csvds"&gt;&lt;/a&gt; &lt;h4&gt;6.1.4. Create Server Data Source&lt;/h4&gt; &lt;img border="0" src="images/create-server-ds.jpg" /&gt; &lt;p&gt; In the left pane, expand "Servers" and select the entry with the name of the new server we just added. &lt;/p&gt; &lt;p&gt; Now select the "Data Source" tab at the bottom of the top right pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cfgds"&gt;&lt;/a&gt; &lt;h4&gt;6.1.5. Configure Data Source&lt;/h4&gt; &lt;img border="0" src="images/config-server-ds.jpg" /&gt; &lt;p&gt; To the right of "JDBC provider list", click the "Add" button. &lt;/p&gt; &lt;img border="0" src="images/create-provider.jpg" /&gt; &lt;p&gt; For "Database type", Select "User-defined". &lt;/p&gt; &lt;p&gt; For "JDBC provider type", select "User-defined JDBC provider". &lt;/p&gt; &lt;p&gt; Click  the "Next" button. &lt;/p&gt; &lt;img border="0" src="images/provider-cp.jpg" /&gt; &lt;p&gt; Add the appropriate information to define the JDBC provider. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the JDBC provider.&lt;/td&gt;   &lt;td&gt;Teradata JDBC&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Your description of the provider.&lt;/td&gt;   &lt;td&gt;Teradata JDBC provider&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Implementation Classname&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements &lt;code&gt;javax.sql.ConnectionPoolDataSource&lt;/code&gt;&lt;/td&gt;   &lt;td&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraCPDS.html --&gt;&lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; &lt;br /&gt; &lt;br /&gt; Use &lt;code&gt;com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraConnectionPoolDataSource&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraCPDS.html --&gt;&lt;/span&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;  &lt;td&gt;&lt;h4&gt;Class path&lt;/h4&gt;&lt;/td&gt;  &lt;td&gt;   The full path name of the jar files that make up the   Teradata JDBC Driver. The example assumes that   you have copied these files to the   C:\TeraJDBC directory on your system.  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;C:\TeraJDBC\terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;C:\TeraJDBC\tdgssconfig.jar&lt;/code&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt;  &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Click on the "Finish" button and the TeraJDBC provider and &lt;/p&gt; &lt;p&gt; "Teradata JDBC" will now be visible in the JDBC Provider List. &lt;/p&gt; &lt;img border="0" src="images/vis-provider.jpg" /&gt; &lt;p&gt; Highlight the "Teradata JDBC" entry and then click the "Add" button to the right of the "Data Source defined in the JDBC provider section above" panel. &lt;/p&gt; &lt;img border="0" src="images/create-ds-2-IBM.jpg" /&gt; &lt;p&gt; Highlight "User-defined JDBC provider:" and select "Version 5.0 data source". &lt;/p&gt; &lt;p&gt; Click on "Next". &lt;/p&gt; &lt;p&gt; Note:  A version 4.x Data Source can also be configured. The required fields are a subset of version 5.x and so are not listed here. The "Database name", "Default User Id" and "Default User password" of a version 4.x data source will override any values defined as custom properties. &lt;/p&gt; &lt;img border="0" src="images/modify-ds.jpg" /&gt; &lt;p&gt; Fill in the entries as noted in the following table. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the Data Source. This should already be filled in for you.&lt;/td&gt;   &lt;td&gt;TeraDataSource&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;User-defined JNDI name of the DataSource.&lt;/td&gt;   &lt;td&gt;jdbc/terajdbc1&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data source helper class name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Data source helper class is an IBM-specific feature.&lt;/td&gt;   &lt;td&gt;com.ibm.websphere.rsadapter.ConnectJDBCDataStoreHelper&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Use this Data Source in Container Managed persistence (CMP)&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;Set if Data Source will be used for CMP of EJBs.&lt;/td&gt;   &lt;td&gt;Check this box if the Data Source will be used with CMP entity beans. Otherwise, leave it unchecked.&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Click the "Finish" button. &lt;/p&gt; &lt;p&gt; The new "TeraDataSource" will be visible in the Data Source list for Teradata JDBC. &lt;/p&gt; &lt;img border="0" src="images/vis-ds.jpg" /&gt; &lt;p&gt; To the right of "Resource properties defined in the data source selected above", click the "Add" button and then add the following properties. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Name&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Type&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;DSName&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The hostname of the Teradata Database.&lt;/td&gt;   &lt;td&gt;String&lt;/td&gt;   &lt;td&gt;whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;user&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;String&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The password.&lt;/td&gt;   &lt;td&gt;String&lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; The final screen then appears as: &lt;/p&gt; &lt;img border="0" src="images/final.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="troub"&gt;&lt;/a&gt; &lt;h2&gt;7. Troubleshooting&lt;/h2&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jndif"&gt;&lt;/a&gt; &lt;h3&gt;7.1. JNDI Call Failure&lt;/h3&gt; &lt;p&gt; JNDI calls may fail when using a non-IBM JDK with the WebSphere examples. When trying to create a data source using the sample code and a non-IBM JDK, you may see the following error message: &lt;/p&gt; &lt;code&gt; javax.naming.ServiceUnavailableException: NULL returned when resolving initial reference=NameService &lt;br /&gt;  at com.ibm.ws.naming.util.WsnInitCtxFactory.getCosRootContext(WsnInitCtxFactory.java:452) &lt;br /&gt;  at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:337) &lt;br /&gt;  at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContext(WsnInitCtxFactory.java:200) &lt;br /&gt;  HELP Exp: NULL returned when resolving initial reference=NameService &lt;/code&gt; &lt;p&gt; This problem can be resolved by using the JDK that is included with the WebSphere product for compilation. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="srvlt"&gt;&lt;/a&gt; &lt;h3&gt;7.2. Servlet Version&lt;/h3&gt; &lt;p&gt; In WebSphere, it is possible to create either a version 4.x or version 5.x data source. &lt;/p&gt; &lt;p&gt; A 2.2 servlet must use a version 4.x data source and a 2.3 servlet must use a version 5.x data source. The servlet version is specified in the web.xml file. &lt;/p&gt; &lt;p&gt; The following line specifies a 2.3 servlet: &lt;/p&gt; &lt;code&gt; &amp;lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"&amp;gt; &lt;/code&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="gndsh"&gt;&lt;/a&gt; &lt;h3&gt;7.3. Generic Data Store Helper&lt;/h3&gt; &lt;p&gt; In WebSphere Studio Application Developer, when using the Data Store helper class of com.ibm.websphere.rsadapter.GenericDataStoreHelper" you may see a message stating "warning: Generic  Data Store helper is being used". This message can be safely ignored. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sesdw"&gt;&lt;/a&gt; &lt;h3&gt;7.4. Session Defaults Warning&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;p&gt; Teradata does not provide any means to "reset" a connection. Therefore, the user of a connection pool data source must avoid using any commands that affect session defaults. Any changes to session defaults will continue to be in effect for the next unsuspecting user of that connection. &lt;/p&gt; &lt;p&gt; Session parameters that &lt;strong&gt;must not be changed&lt;/strong&gt; include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Database (SET SESSION DATABASE command)&lt;/li&gt; &lt;li&gt;Collation (SET SESSION COLLATION command)&lt;/li&gt; &lt;li&gt;Character Set&lt;/li&gt; &lt;li&gt;Transaction Semantics&lt;/li&gt; &lt;li&gt;Dateform (SET SESSION DATEFORM command)&lt;/li&gt; &lt;li&gt;Timezone (SET TIME ZONE command)&lt;/li&gt; &lt;li&gt;Default date format&lt;/li&gt; &lt;li&gt;QueryBand (SET QUERY_BAND ... FOR SESSION command, introduced with Teradata Database 12.0)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The SET QUERY_BAND ... FOR TRANSACTION command is recommended as an alternative to SET QUERY_BAND ... FOR SESSION, because SET QUERY_BAND ... FOR TRANSACTION is limited in scope to the current transaction. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cmpeb"&gt;&lt;/a&gt; &lt;h3&gt;7.5. Preparation of CMP Entity Beans for Deployment&lt;/h3&gt; &lt;p&gt; The Teradata Driver for the JDBC Interface can support both container-managed persistence (CMP) and bean-managed persistence (BMP) entity beans. For container-managed persistence (CMP) entity beans, WebSphere does not have native support for Teradata within its automated CMP deployment tools. &lt;/p&gt; &lt;p&gt; However, WebSphere can produce SQL 92 and SQL 99 level compatible SQL, and it is compatible with Teradata SQL in most cases. The DDL produced by WebSphere during bean deployment can be executed on Teradata without modification in most cases. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="csamp"&gt;&lt;/a&gt; &lt;h2&gt;Appendix A:  WebSphere Code Samples&lt;/h2&gt; &lt;p&gt; Note: The creation of a WebSphere datasource "ds1" creates a JNDI name of "jdbc/ds1" for the datasource. The name with the "jdbc" prefix must be used when accessing the following servlet. &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool with username and password passed as parameters. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String user = req.getParameter("user");&lt;br /&gt;     String password = req.getParameter("password");&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       out.println("User: " + user + "");&lt;br /&gt;       out.println("Password: " + password);&lt;br /&gt; &lt;br /&gt;       Connection con = ds.getConnection(user, password);&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool using Data Source default username and password. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       &lt;br /&gt;       Connection con = ds.getConnection();&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt;&lt;/div&gt;</description><pubDate>Tue, 07 Apr 2009 18:30:43 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>FAQ Frequently Asked Questions</title><link>http://www.teradata.com/DownloadCenter/Topic9403-98-1.aspx</link><description>&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;I upgraded to the Teradata JDBC Driver 12.0.0.104 or later release and now I am getting error messages like the following:&lt;/P&gt;&lt;P&gt;TERAJDBC4 ERROR ... The com.ncr.teradata.TeraDriver class name is deprecated. Please use the com.teradata.jdbc.TeraDriver class name instead.&lt;/P&gt;&lt;P&gt;TERAJDBC4 ERROR ... The com.ncr.teradata.TeraConnectionPoolDataSource class name is deprecated. Please use the com.teradata.jdbc.TeraConnectionPoolDataSource class name instead.&lt;/P&gt;&lt;P&gt;Can I ignore this error message? How can I get rid of this error message?&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;These are not really error messages. They are actually warning messages.&lt;/P&gt;&lt;P&gt;New Teradata JDBC Driver class names are available.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For JDBC URL connections: com.teradata.jdbc.TeraDriver&lt;/LI&gt;&lt;LI&gt;For WebSphere Data Sources: com.teradata.jdbc.TeraConnectionPoolDataSource&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;You can ignore these warning messages temporarily. The old class names will continue to work; however, the warning message will be printed as a reminder to switch over to the new class names.&lt;P&gt;The old class names will be provided in a limited number of future releases. After that, the old class names will be removed.&lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;I downloaded the Teradata JDBC Driver 12.0.0.104 or later release and the download package did not contain the tdgssjava.jar file.&lt;P&gt;Where did that file go? Do I need to remove that file from my classpath?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;P&gt;The tdgssjava.jar file is no longer required by the Teradata JDBC Driver. The classes formerly in tdgssjava.jar now reside in terajdbc4.jar. This reduces the number of jar files from three to two, and simplifies deployment and maintenance.&lt;/P&gt;&lt;P&gt;After upgrading to Teradata JDBC Driver 12.0.0.104 or later, you should remove tdgssjava.jar from your classpath.&lt;/P&gt;&lt;P&gt;However, if you accidentally leave the reference to tdgssjava.jar on your classpath, it should not cause a problem. All tdgssjava class files were repackaged to be in the "com.teradata…" package, and the Teradata JDBC Driver only uses the tdgssjava classes in the new package structure. If you accidentally leave the reference to the old obsolete tdgssjava.jar on your classpath, the new Teradata JDBC Driver will not use the old tdgssjava.jar at all.&lt;/P&gt;&lt;P&gt;&lt;BR&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;How can I determine the version number for terajdbc4.jar ?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;P&gt;If you have WinZip installed, you can open the jar file and view the MANIFEST.MF file, which contains the version number.&lt;P&gt;If WinZip isn't available, then use the jar command from the JDK to extract the MANIFEST.MF file.&lt;P&gt;jar xvf terajdbc4.jar META-INF/MANIFEST.MF&lt;BR&gt;&lt;P&gt; &lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;What Teradata JDBC Driver connection parameter values are recommended? What are the benefits and drawbacks of the recommended connection parameter values?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;P&gt;Our general recommendation is to specify TMODE=ANSI and CHARSET=UTF8. However, please note that every application is different, and some applications may need different settings.&lt;P&gt;The Teradata Database SQL Reference/Statement and Transaction Processing recommends that ANSI transaction mode be used for all new applications. The primary benefit of using TMODE=ANSI (ANSI transaction mode) is that inadvertent data truncation is avoided. In contrast, when using TERA transaction mode, silent data truncation can occur when data is inserted, because silent data truncation is a feature of TERA transaction mode. In addition, using TMODE=ANSI avoids error 3510 ("Too many END TRANSACTION statements") reported in DBQL.&lt;P&gt;The drawback of using TMODE=ANSI is that you can only call stored procedures that were created using ANSI transaction mode, and you will not be able to call stored procedures that were created using TERA transaction mode. It may not be possible to switch over to ANSI transaction mode exclusively, because you may have some legacy applications that require TERA transaction mode to work properly. You can work around this drawback by creating your stored procedures twice, in two different users/databases, once using ANSI mode, and once using TERA mode.&lt;P&gt;The Teradata JDBC Driver User Guide strongly recommends that Java applications store character data in Unicode columns in the Teradata Database, and use the UTF8 session character set (connection parameter CHARSET=UTF8). This avoids conversions between character sets, and ensures end-to-end fidelity of character data.&lt;P&gt;The drawback of using CHARSET=UTF8 is that fixed-width CHAR data type result set column values will be subject to extra trailing space padding per the Teradata Database Export Width behavior. You can work around this drawback by using CAST or TRIM in SQL SELECT statements, or in views, to convert fixed-width CHAR data types to VARCHAR.&lt;P&gt; &lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;When I use the Teradata JDBC Driver to execute the query "SELECT TIME", the ResultSetMetaData says the returned column's data type is FLOAT, and getColumnClassName indicates java.lang.Double. Is this a bug in the JDBC Driver? Why doesn't "SELECT TIME" return a java.sql.Time object?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;The Teradata JDBC Driver is behaving correctly when you execute "SELECT TIME". The Teradata Database SQL Reference/Functions and Operators says "The Teradata system value TIME is encoded as a REAL and is not compatible with ANSI TIME or TIME WITH TIME ZONE."&lt;/P&gt;&lt;P&gt;We recommend that you use the ANSI-standard CURRENT_TIME function instead of the legacy Teradata TIME function. The CURRENT_TIME function will return a TIME WITH TIME ZONE value, and a java.sql.Time object.&lt;/P&gt;&lt;P&gt; &lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;I see error 3510 ("Too many END TRANSACTION statements") reported in DBQL, but my Java application doesn't get corresponding SQLExceptions from the Teradata JDBC Driver. Are the 3510 errors expected? Can I ignore them? Can I eliminate them?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;P&gt;3510 errors in DBQL typically do not indicate any problem, and can be ignored. Error 3510 is reported in DBQL when using TERA transaction mode, and it indicates that the Teradata Database has received an extra "ET" command to end a transaction: BT, INSERT, ET, ET.&lt;P&gt;3510 errors do not occur in ANSI transaction mode. When using ANSI transaction mode, multiple COMMIT statements are accepted without error: INSERT, COMMIT, COMMIT.&lt;P&gt;When the Teradata JDBC Driver operates in TERA transaction mode, extra ET commands may be sent to the Teradata Database due to a variety of different factors. For example, the JDBC specification says that a JDBC Driver must perform a commit operation when the Connection.setAutoCommit method is called. Therefore, the Teradata JDBC Driver sends ET (in TERA transaction mode) when the Connection.setAutoCommit method is called. Another situation can arise with application server connection pool management -- application servers typically call Connection.commit for safety when an application returns a JDBC connection to the connection pool. If the application had called Connection.commit itself before returning the connection to the pool, then this would result in two sequential calls to Connection.commit, in turn causing the Teradata JDBC Driver to submit two sequential ET commands.&lt;P&gt;The Teradata JDBC Driver does not attempt to determine when an ET or COMMIT command is truly needed, nor does it attempt to minimize the number of submitted ET or COMMIT commands. Instead, the Teradata JDBC Driver conservatively submits an ET or COMMIT command whenever it might be needed. This is intended to reduce the risk of lost data and wrong results.&lt;P&gt;Since 3510 errors are expected and do not indicate a problem, the Teradata JDBC Driver intercepts them and does not throw a corresponding SQLException to the Java application.&lt;P&gt; &lt;P&gt;  &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;What do the "cid=NNNN" and "sess=NNNN" identifiers mean when they appear in the DBC.SessionInfo.LogonSource column, and in SQLException messages thrown by the Teradata JDBC Driver? &lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;The "cid" means "connection ID". The JDBC Driver User Guide Chapter 2 section "LogonSource Format" says "The connection ID is the hash code of the connection object. It provides a simple unique identifier for a particular connection to the Teradata Database." The main purpose of the connection ID is to provide an identifier for situations when a session number is not available.&lt;/P&gt;&lt;P&gt;The "sess" means "session number". A nonzero number indicates a Teradata Database session number, but when a SQLException message contains "sess=0" (the session number is zero), it means that the session never got logged on from the Teradata JDBC Driver's point of view.&lt;/P&gt;&lt;P&gt;The Teradata JDBC Driver doesn't zero out the session number after a session is logged off. The connection continues to remember its session number even after it's logged off.&lt;BR&gt;&lt;/P&gt;&lt;P&gt;&lt;BR&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;Your documentation says that the setFetchSize method is supported by the Teradata JDBC Driver, but is not supported by the Teradata Database. What does that mean? Does using setFetchSize provide any value when reading large result sets from Teradata? Does the Teradata JDBC Driver load the entire result set into memory or does it buffer it and read it off the wire in chunks as the application iterates through the data?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;The Teradata Database does not yet provide "fetch size" functionality, so the Teradata JDBC Driver's setFetchSize method has no effect.&lt;P&gt;The good news is that the Teradata JDBC Driver reads only one response message at a time from the Teradata Database, as the application fetches through the result set. The Teradata JDBC Driver does &lt;STRONG&gt;not&lt;/STRONG&gt; read the entire result set into memory. The Teradata Database will fit as many rows as it can into each response message, which can be up to 1MB in size for a SQL connection, or up to 64KB in size for a FastExport or Monitor partition connection.&lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;I'm trying to use JDBC FastLoad -- I was using the PreparedStatement executeUpdate method, but I got an exception "This method is not implemented". I saw that your JDBC FastLoad sample program uses PreparedStatement batch insert, so I was able to get my program to work after switching to the PreparedStatement addBatch and executeBatch methods. Does JDBC FastLoad only work with PreparedStatement batch insert?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;Yes, JDBC FastLoad only works with PreparedStatement batch inserts. JDBC FastLoad is not appropriate for all applications. The Teradata JDBC Driver User Guide Chapter 2 contains a section titled "Considerations When Using JDBC FastLoad". One of the bullet points in that section says "Supports batch inserts only". While JDBC FastLoad can improve performance, it does have several limitations. Please review the "Considerations When Using JDBC FastLoad" before using JDBC FastLoad in your application.&lt;/P&gt;&lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;I have questions about JDBC FastLoad scalability. My understanding about PreparedStatement addBatch is that the rows accumulate on the client until executeBatch sends them to the Teradata Database. I'm worried about overflowing the JVM heap, so I want to call executeBatch periodically to send rows to the database. But I also know that FastLoad can only insert rows into an empty table, so I am worried that the second executeBatch will hit an error. What are the best practices for using JDBC FastLoad? &lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;We recommend that autocommit be set to false (meaning turned off) for a JDBC FastLoad Connection, then JDBC FastLoad PreparedStatement executeBatch can be executed multiple times. JDBC FastLoad PreparedStatement addBatch saves the data in memory on the heap, and JDBC FastLoad PreparedStatement executeBatch transmits the data to the Teradata Database where it is placed in a temporary holding area. With autocommit set to false, JDBC FastLoad PreparedStatement executeBatch won't transfer the data to the actual table. The data can accumulate in the holding area until JDBC FastLoad Connection commit instructs the Teradata Database to transfer the data from the holding area to the actual table.&lt;/P&gt;&lt;P&gt;The Teradata JDBC Driver User Guide currently contains an incorrect recommendation -- it recommends a batch size of 500 to 1000 for JDBC FastLoad. This is too small. Our new recommendation is that an application should set autocommit to false for JDBC FastLoad, and use as large a batch size as possible with respect to their JVM heap size. A future revision of the JDBC Driver User Guide will recommend a batch size of 50,000 to 100,000 for JDBC FastLoad. If an application uses a very large batch size, then JDBC FastLoad performance can be comparable to standalone FastLoad utility performance.&lt;/P&gt;&lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;P&gt;Does the Teradata JDBC Driver support the Teradata-proprietary reconnect protocol? How does that work in an application server environment with connection pooling? How does that work with Teradata Query Director?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt;&lt;P&gt;Application servers have a "purge policy" to govern the behavior of the connection pool when a connection goes bad. JDBC drivers indicate to the application server that a connection has gone bad by throwing a SQLException with a SQLState attribute = 08S01.&lt;P&gt;The system administrator can set the connection pool purge policy to (1) "bad connection only", in which case only the one bad connection would be ejected from the pool, or set the purge policy to (2) "all connections", in which case all the connections would be ejected from the pool, on the theory that if one connection has gone bad, all the other connections are probably bad also.&lt;P&gt;Subsequently, as connections are requested from the pool, the application server will create new JDBC connections as needed if the pool doesn't contain enough to satisfy the incoming requests.&lt;P&gt;The Teradata JDBC Driver does not currently support the Teradata-proprietary reconnect protocol. This feature corresponds to JDBC RFC DR 107800.&lt;P&gt;The Teradata-proprietary reconnect protocol may have limited usefulness in an application server environment. The reconnection attempt must occur within a limited time to be successful. Each connection in the pool would have to be used within the limited time in order for the reconnection to be successful; however, connections in a pool may be idle for extended periods of time. No background processing occurs for idle JDBC connections. Each connection that happened to remain unused past the limited time would not be able to be reconnected to the Teradata Database.&lt;P&gt;If you are using Teradata Query Director, then you should set your application server's connection pool purge policy to "bad connection only", because Teradata Query Director takes care of redirecting requests to another Teradata Database. If your connection pool purge policy is mistakenly set to "all connections", then you will not benefit from Teradata Query Director for JDBC connections.&lt;P&gt; &lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt; &lt;P&gt;The Teradata JDBC Driver is throwing SQLException with getErrorCode equal to 802 and a message containing either "Timeout occurred for Packet receive" or "HY000 802 : Timeout  Packet stream read error". Also, the Teradata JDBC Driver is printing log messages that say "TERAJDBC4 ERROR ... Read message ... timed out" followed by "TERAJDBC4 ERROR ... Packet receive ... SocketTimeoutException". In the Teradata Database's DBQL, I see error 3110 "The transaction was aborted by the user". Why is this happening?&lt;P&gt;&lt;STRONG&gt;Answer&lt;/STRONG&gt; &lt;P&gt;These exceptions and messages are expected when you use the Statement setQueryTimeout method. When your application specifies a timeout with the Statement setQueryTimeout method, then the Teradata JDBC Driver will use a timeout for Socket read method calls. Java throws SocketTimeoutException from a Socket read method call when the specified timeout expires. The Teradata JDBC Driver catches that exception and attempts to send an asynchronous Abort Request message to the Teradata Database in order to abort the SQL request in progress. If the Teradata Database was able to respond to the asynchronous Abort Request and abort the SQL request, then the Teradata Database will record error 3110 ("The transaction was aborted by the user") in DBQL.&lt;/P&gt;&lt;P&gt;Note that the Statement setQueryTimeout method only applies to executing a SQL request. The Statement setQueryTimeout method does not apply to any other operations that the Teradata Database performs, such as preparing a SQL request, fetching ResultSet rows from the spool, releasing the spool when a ResultSet is closed, committing a transaction, or rolling back a transaction. There is no method defined for an application to specify a timeout for these other kinds of operations.</description><pubDate>Thu, 30 Oct 2008 15:09:27 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>Java Virtual Machine (JVM) and Application Server Support</title><link>http://www.teradata.com/DownloadCenter/Topic9391-98-1.aspx</link><description>Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release&lt;/p&gt;&lt;p&gt;u=unsupported / s=supported&lt;/p&gt;&lt;!-- This file should not be duplicated for each release, just modified. --&gt;&lt;table class="BlackText" border="1"&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt; &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt; &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt; &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt; &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt; &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt; &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebSphere 7.0 with IBM JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 10.3 with Sun JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WebLogic 10.3 with JRockit JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 6.0&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt; &lt;td&gt;s&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt; Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC Driver release, to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release.&lt;/p&gt;&lt;p&gt; Please refer to the application server vendor's documentation to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for each application server version.&lt;/p&gt;&lt;p&gt; The Teradata JDBC Driver is supported for use with all combinations of operating systems, CPUs, and 32/64 bit modes that are supported by both the application server version and the Teradata JDBC Driver release.&lt;/p&gt;&lt;p&gt; For Java software, an operating environment consists of the complete combination of the following items:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;the specific version of the underlying operating system&lt;/li&gt;&lt;li&gt;the specific JVM version&lt;/li&gt;&lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt;&lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; Generally, the Teradata JDBC Driver is tested in a particular operating environment before that operating environment is supported for use with the Teradata JDBC Driver. Such testing is needed for the following reasons:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt;&lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt;&lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt;&lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the    Global Support Center (GSC), so that it can support customers.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; If a problem is encountered while using the Teradata JDBC Driver in an unsupported environment, then the GSC will attempt to reproduce the problem in the closest supported environment. If the problem can be reproduced in a supported environment, and the problem is determined to be due to the Teradata JDBC Driver, then the problem will be corrected and retested using the supported platform.</description><pubDate>Mon, 29 Sep 2008 13:27:59 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>ColdFusion Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9367-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with Adobe ColdFusion and JRun &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: September 16, 2008 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; Adobe's ColdFusion and JRun application servers. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2008 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt;      1.6. &lt;a href="#sbs"&gt;Sandbox Security Permissions for Teradata Files&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#maccfv61"&gt;2. Adobe ColdFusion MX 6.1&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      2.1. &lt;a href="#connp"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.1. &lt;a href="#stadm"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         2.1.2. &lt;a href="#setcp"&gt;Set Classpath&lt;/a&gt;&lt;br /&gt;         2.1.3. &lt;a href="#adnds"&gt;Add a New Data Source&lt;/a&gt;&lt;br /&gt;         2.1.4. &lt;a href="#stdsp"&gt;Set the Data Source Properties&lt;/a&gt;&lt;br /&gt;      2.2. &lt;a href="#dsusa"&gt;Data Source Usage&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#maccfv7"&gt;3. Adobe ColdFusion MX 7&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#connpv7"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         3.1.1. &lt;a href="#stadmv7"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         3.1.2. &lt;a href="#setcpv7"&gt;Set Classpath&lt;/a&gt;&lt;br /&gt;         3.1.3. &lt;a href="#adndsv7"&gt;Add a New Data Source&lt;/a&gt;&lt;br /&gt;         3.1.4. &lt;a href="#stdspv7"&gt;Set the Data Source Properties&lt;/a&gt;&lt;br /&gt;      3.2. &lt;a href="#dsusav7"&gt;Data Source Usage&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#maccfv8"&gt;4. Adobe ColdFusion 8&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      4.1. &lt;a href="#connpv8"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         4.1.1. &lt;a href="#stadmv8"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         4.1.2. &lt;a href="#setcpv8"&gt;Set Classpath&lt;/a&gt;&lt;br /&gt;         4.1.3. &lt;a href="#adndsv8"&gt;Add a New Data Source&lt;/a&gt;&lt;br /&gt;         4.1.4. &lt;a href="#stdspv8"&gt;Set the Data Source Properties&lt;/a&gt;&lt;br /&gt;      4.2. &lt;a href="#dsusav8"&gt;Data Source Usage&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#maccf_jrun"&gt;5. Adobe JRun 4&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      5.1. &lt;a href="#connp_jrun"&gt;Connection Pool via Administrative Console&lt;/a&gt;&lt;br /&gt;         5.1.1. &lt;a href="#stadm_jrun"&gt;Start the Administrative Console&lt;/a&gt;&lt;br /&gt;         5.1.2. &lt;a href="#setcp_jrun"&gt;Set Classpath&lt;/a&gt;&lt;br /&gt;         5.1.3. &lt;a href="#adnds_jrun"&gt;Add a New Data Source&lt;/a&gt;&lt;br /&gt;         5.1.4. &lt;a href="#stdsp_jrun"&gt;Set the Data Source Properties&lt;/a&gt;&lt;br /&gt;      5.2. &lt;a href="#dsusa_jrun"&gt;Data Source Usage&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#troub"&gt;6. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      6.1. &lt;a href="#sesdw"&gt;Session Defaults Warning&lt;/a&gt;&lt;br /&gt;      6.2. &lt;a href="#unsupm"&gt;Unsupported Method&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp"&gt;Appendix A: ColdFusion Code Sample&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp_jrun"&gt;Appendix B: JRun Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; The application server versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Adobe ColdFusion MX 6.1&lt;/li&gt;  &lt;li&gt;Adobe ColdFusion MX 7&lt;/li&gt;  &lt;li&gt;Adobe ColdFusion 8&lt;/li&gt;  &lt;li&gt;Adobe JRun 4&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC Driver release, to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; Please refer to the application server vendor's documentation to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for each application server version. &lt;/p&gt; &lt;p&gt; The Teradata JDBC Driver is supported for use with all combinations of operating systems, CPUs, and 32/64 bit modes that are supported by both the application server version and the Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; For Java software, an operating environment consists of the complete combination of the following items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the specific version of the underlying operating system&lt;/li&gt; &lt;li&gt;the specific JVM version&lt;/li&gt; &lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt; &lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Generally, the Teradata JDBC Driver is tested in a particular operating environment before that operating environment is supported for use with the Teradata JDBC Driver. Such testing is needed for the following reasons: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt; &lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the    Global Support Center (GSC), so that it can support customers.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; If a problem is encountered while using the Teradata JDBC Driver in an unsupported environment, then the GSC will attempt to reproduce the problem in the closest supported environment. If the problem can be reproduced in a supported environment, and the problem is determined to be due to the Teradata JDBC Driver, then the problem will be corrected and retested using the supported platform. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\platformMatrix.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tdgssShare"&gt;&lt;/a&gt; &lt;h3&gt;1.5. C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShare.html --&gt; &lt;p&gt; C/C++ applications that communicate with the Teradata Database use the TeraGSS security library. If C/C++ and Java applications are deployed to the same physical machine, then Java applications can be configured to use the TeraGSS security library's User Configuration File. &lt;/p&gt; &lt;p&gt; In this deployment scenario, Java applications do not use the tdgssconfig.jar file that is included in the Teradata JDBC Driver download package. Instead, the classpath for Java applications must include the TeraGSS directory that contains the TeraGSS User Configuration File, TdgssUserConfigFile.xml, as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   &lt;h3&gt;For shared TeraGSS configuration using the&lt;/h3&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;h3&gt;The classpath must include&lt;/h3&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 12.0 Teradata JDBC Driver and later  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 8.2 Teradata JDBC Driver 3.4 and earlier  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;tdgssjava.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For standalone Java applications, this is done via the applications' classpath. For J2EE applications deployed to an application server environment, the Data Source classpath is modified. &lt;/p&gt; &lt;/p&gt; Not all classloaders support the specification of a directory on the classpath. This deployment technique can only be used with classloaders that support the specification of a directory on the classpath. &lt;/p&gt; &lt;p&gt; Some application servers, such as SAP Web Application Server, only support the use of jar files when defining the classpath for a JDBC Data Source. If the application server or environment does not support the specification of a directory on the classpath, then C/C++ and Java applications cannot directly share the same TeraGSS User Configuration File. &lt;/p&gt; &lt;p&gt; For application servers or environments that do not support the specification of a directory on the classpath, the TeraGSS User Configuration File can only be shared indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS User Configuration File from the TeraGSS directory and to put the TeraGSS User Configuration File into the tdgssconfig.jar file from the Teradata JDBC Driver download package via: &lt;p&gt; &lt;code&gt;         jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/code&gt; &lt;p&gt; Each time the TeraGSS User Configuration File is modified, the jar "update" command must be executed again. The application server or environment must be restarted so that the modified tdgssconfig.jar will be used. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShare.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sbs"&gt;&lt;/a&gt; &lt;h3&gt;1.6. Sandbox Security Permissions for Teradata Files&lt;/h3&gt; &lt;p&gt; In ColdFusion, Sandbox Security can be enabled. If this is enabled and the Teradata JDBC Driver files are defined in a sandbox, then READ permission must be granted for the Teradata JDBC Driver files. Either the full path name for each file, or the directory containing these files, will require READ permission. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;/li&gt; &lt;li&gt;&lt;code&gt;tdgssconfig.jar&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; Without READ permission, possible errors that may be returned are "Error Executing Database Query" or "GSSException: Failure unspecified at GSS-API level (Mechanism level: LibFile parameter null)". &lt;/p&gt; &lt;p&gt; For information on setting up Sandbox Security, please refer to the ColdFusion documentation. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="maccfv61"&gt;&lt;/a&gt; &lt;h2&gt;2. Adobe ColdFusion MX 6.1&lt;/h2&gt; &lt;p&gt; A Data Source is created via the Administrative Console. Connection Pooling is set to "on" by default via an Advanced Setting within the Data Source titled "Maintain Connections". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp"&gt;&lt;/a&gt; &lt;h3&gt;2.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm"&gt;&lt;/a&gt; &lt;h4&gt;2.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Adobe &amp;rarr; Adobe ColdFusion MX &amp;rarr; Administrator &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="setcp"&gt;&lt;/a&gt; &lt;h4&gt;2.1.2. Set Classpath&lt;/h4&gt; &lt;img border="0" src="images/set-classpath.jpg" /&gt; &lt;p&gt; In the left pane, under "SERVER SETTINGS", click on "Java and JVM" &lt;/p&gt; &lt;p&gt; The right pane will have a "Class Path" entry. Enter the full path names of the Teradata JDBC Driver files terajdbc4.jar and tdgssconfig.jar. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Submit Changes" to apply these changes and restart the ColdFusion MX service to make them take effect. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="adnds"&gt;&lt;/a&gt; &lt;h4&gt;2.1.3. Add a New Data Source&lt;/h4&gt; &lt;img border="0" src="images/add-new-ds.jpg" /&gt; &lt;p&gt; In the left pane, under "DATA &amp; SERVICES", click on "Data Sources". &lt;/p&gt; &lt;p&gt; Enter a "Data Source Name" and select a Driver and then click "Add". &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name you will later use to refer to this Data Source.&lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Driver to use. Since the Teradata Driver is not listed, select "Other".&lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdsp"&gt;&lt;/a&gt; &lt;h4&gt;2.1.4. Set the Data Source Properties&lt;/h4&gt; &lt;img border="0" src="images/set-ds-props.jpg" /&gt; &lt;p&gt; The values required to create the connection pool are outlined in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;CF Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;This field was carried over from the previous form.   It can be used by ColdFusion scripts to access this Data Source.   &lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JDBC URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Defines the URL that will be passed to the driver.  The example Teradata Database name is "whomooz".  You should use the actual Teradata Database hostname for your site.  &lt;br&gt;  &lt;br&gt;  Please note that any connection URL parameter such as "CHARSET"  or "TMODE" must be set within this URL parameter.  These CANNOT be set within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;An optional name that you want to assign to this driver.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Username&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The password of the user defined by "Username".  &lt;br&gt;  &lt;br&gt;  After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After entering the required information, click on the "Submit" button to test the Data Source. &lt;/p&gt; &lt;img border="0" src="images/ds-success.jpg" /&gt; &lt;p&gt; The final screen should say "datasource updated successfully" at the top and your new Data Source should be visible in the list of "Connected Data Sources", in the bottom table in the right pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsusa"&gt;&lt;/a&gt; &lt;h3&gt;2.2. Data Source Usage&lt;/h3&gt; &lt;p&gt; ColdFusion provides its own markup language for using Data Sources. A full example with instructions for use can be found in Appendix A. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="maccfv7"&gt;&lt;/a&gt; &lt;h2&gt;3. Adobe ColdFusion MX 7&lt;/h2&gt; &lt;p&gt; A Data Source is created via the Administrative Console. Connection Pooling is set to "on" by default via an Advanced Setting within the Data Source titled "Maintain Connections". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connpv7"&gt;&lt;/a&gt; &lt;h3&gt;3.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadmv7"&gt;&lt;/a&gt; &lt;h4&gt;3.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Adobe &amp;rarr; Adobe ColdFusion MX 7 &amp;rarr; Administrator &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="setcpv7"&gt;&lt;/a&gt; &lt;h4&gt;3.1.2. Set Classpath&lt;/h4&gt; &lt;img border="0" src="images/set-classpath-v7.jpg" /&gt; &lt;p&gt; In the left pane, under "SERVER SETTINGS", click on "Java and JVM" &lt;/p&gt; &lt;p&gt; The right pane will have a "ColdFusion Class Path" entry. Enter the full path names of the Teradata JDBC Driver files terajdbc4.jar and tdgssconfig.jar. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Submit Changes" to apply these changes and restart the ColdFusion MX service to make them take effect. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="adndsv7"&gt;&lt;/a&gt; &lt;h4&gt;3.1.3. Add a New Data Source&lt;/h4&gt; &lt;img border="0" src="images/add-new-ds-v7.jpg" /&gt; &lt;p&gt; In the left pane, under "DATA &amp; SERVICES", click on "Data Sources". &lt;/p&gt; &lt;p&gt; Enter a "Data Source Name" and select a Driver and then click "Add". &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name you will later use to refer to this Data Source.&lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Driver to use. Since the Teradata Driver is not listed, select "Other".&lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdspv7"&gt;&lt;/a&gt; &lt;h4&gt;3.1.4. Set the Data Source Properties&lt;/h4&gt; &lt;img border="0" src="images/set-ds-props-v7.jpg" /&gt; &lt;p&gt; The values required to create the connection pool are outlined in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;CF Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;This field was carried over from the previous form.   It can be used by ColdFusion scripts to access this Data Source.   &lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JDBC URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Defines the URL that will be passed to the driver.  The example Teradata Database name is "whomooz".  You should use the actual Teradata Database hostname for your site.  &lt;br&gt;  &lt;br&gt;  Please note that any connection URL parameter such as "CHARSET"  or "TMODE" must be set within this URL parameter.  These CANNOT be set within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;An optional name that you want to assign to this driver.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;User Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The password of the user defined by "User Name".  &lt;br&gt;  &lt;br&gt;  After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After entering the required information, click on the "Submit" button to test the Data Source. &lt;/p&gt; &lt;img border="0" src="images/ds-success-v7.jpg" /&gt; &lt;p&gt; The final screen should say "datasource updated successfully" at the top and your new Data Source should be visible in the list of "Connected Data Sources", in the bottom table in the right pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsusav7"&gt;&lt;/a&gt; &lt;h3&gt;3.2. Data Source Usage&lt;/h3&gt; &lt;p&gt; ColdFusion provides its own markup language for using Data Sources. A full example with instructions for use can be found in Appendix A. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="maccfv8"&gt;&lt;/a&gt; &lt;h2&gt;4. Adobe ColdFusion 8&lt;/h2&gt; &lt;p&gt; A Data Source is created via the Administrative Console. Connection Pooling is set to "on" by default via an Advanced Setting within the Data Source titled "Maintain Connections". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connpv8"&gt;&lt;/a&gt; &lt;h3&gt;4.1. Connection Pool via Administrative Console&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadmv8"&gt;&lt;/a&gt; &lt;h4&gt;4.1.1. Start the Administrative Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Adobe &amp;rarr; ColdFusion 8 &amp;rarr; Administrator &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="setcpv8"&gt;&lt;/a&gt; &lt;h4&gt;4.1.2. Set Classpath&lt;/h4&gt; &lt;img border="0" src="images/set-classpath-v8.jpg" /&gt; &lt;p&gt; In the left pane, under "SERVER SETTINGS", click on "Java and JVM" &lt;/p&gt; &lt;p&gt; The right pane will have a "ColdFusion Class Path" entry. Enter the full path names of the Teradata JDBC Driver files terajdbc4.jar and tdgssconfig.jar. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Submit Changes" to apply these changes and restart the ColdFusion service to make them take effect. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="adndsv8"&gt;&lt;/a&gt; &lt;h4&gt;4.1.3. Add a New Data Source&lt;/h4&gt; &lt;img border="0" src="images/add-new-ds-v8.jpg" /&gt; &lt;p&gt; In the left pane, under "DATA &amp; SERVICES", click on "Data Sources". &lt;/p&gt; &lt;p&gt; Enter a "Data Source Name" and select a Driver and then click "Add". &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name you will later use to refer to this Data Source.&lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Driver to use. Since the Teradata Driver is not listed, select "Other".&lt;/td&gt;   &lt;td&gt;Other&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdspv8"&gt;&lt;/a&gt; &lt;h4&gt;4.1.4. Set the Data Source Properties&lt;/h4&gt; &lt;img border="0" src="images/set-ds-props-v8.jpg" /&gt; &lt;p&gt; The values required to create the connection pool are outlined in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;CF Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;This field was carried over from the previous form.   It can be used by ColdFusion scripts to access this Data Source.   &lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JDBC URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Defines the URL that will be passed to the driver.  The example Teradata Database name is "whomooz".  You should use the actual Teradata Database hostname for your site.  &lt;br&gt;  &lt;br&gt;  Please note that any connection URL parameter such as "CHARSET"  or "TMODE" must be set within this URL parameter.  These CANNOT be set within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;An optional name that you want to assign to this driver.&lt;/td&gt;   &lt;td&gt;Teradata&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;User Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The password of the user defined by "User Name".  &lt;br&gt;  &lt;br&gt;  After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After entering the required information, click on the "Submit" button to test the Data Source. &lt;/p&gt; &lt;img border="0" src="images/ds-success-v8.jpg" /&gt; &lt;p&gt; The final screen should say "datasource updated successfully" at the top and your new Data Source should be visible in the list of "Connected Data Sources", in the bottom table in the right pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsusav8"&gt;&lt;/a&gt; &lt;h3&gt;4.2. Data Source Usage&lt;/h3&gt; &lt;p&gt; ColdFusion provides its own markup language for using Data Sources. A full example with instructions for use can be found in Appendix A. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="maccf_jrun"&gt;&lt;/a&gt; &lt;h2&gt;5. Adobe JRun&lt;/h2&gt; &lt;p&gt; A Data Source is created via the Management Console. Connection Pooling is enabled by checking the "Pool Connections" checkbox on the Data Source definition pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="connp_jrun"&gt;&lt;/a&gt; &lt;h3&gt;5.1. Connection Pool via Management Console&lt;/h3&gt; &lt;p&gt; In the following examples, all changes are made to the "default" server. The actual server that you choose will depend on your JRun configuration. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadm_jrun"&gt;&lt;/a&gt; &lt;h4&gt;5.1.1. Start the Management Console&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Adobe JRun 4 &amp;rarr; JRun Management Console &lt;/p&gt; &lt;p&gt;   &lt;/p&gt; &lt;p&gt; For ColdFusion 8: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; Adobe &amp;rarr; ColdFusion 8 &amp;rarr; JRun Management Console &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="setcp_jrun"&gt;&lt;/a&gt; &lt;h4&gt;5.1.2. Set Classpath&lt;/h4&gt; &lt;img border="0" src="images/set-classpath_jrun.jpg" /&gt; &lt;p&gt; In the left pane, under "default", click on "Settings" and then "JVM Settings". &lt;/p&gt; &lt;p&gt; The right pane will have a "Classpaths" entry. Enter the full path names of the Teradata JDBC Driver files terajdbc4.jar and tdgssconfig.jar. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), replace &lt;code&gt;tdgssconfig.jar&lt;/code&gt; with the directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShareNote.html --&gt;&lt;/span&gt; &lt;p&gt; Click "Update" to apply these changes and restart the JRun 4 server to make them take effect. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="adnds_jrun"&gt;&lt;/a&gt; &lt;h4&gt;5.1.3. Add a New Data Source&lt;/h4&gt; &lt;img border="0" src="images/add-new-ds_jrun.jpg" /&gt; &lt;p&gt; In the left pane, under "default", click on "Resources" and then "JDBC Data Sources". &lt;/p&gt; &lt;p&gt; Enter a "Data Source Name" and select a Driver and then click "Add". &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt; The name you will later use to refer to this Data Source.   &lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Database Driver&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Driver to use. Since the Teradata Driver is not listed, select "Not-Listed".&lt;/td&gt;   &lt;td&gt;Not-Listed&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stdsp_jrun"&gt;&lt;/a&gt; &lt;h4&gt;5.1.4. Set the Data Source Properties&lt;/h4&gt; &lt;img border="0" src="images/set-ds-props_jrun.jpg" /&gt; &lt;p&gt; The values required to create the data source are outlined in the following table. Please note that the username of "guest" and password of "please" are examples and should be replaced by the actual username/password combination for your Teradata Database system. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Field&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Value&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Data Source Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;This field was carried over from the previous form.&lt;br&gt;   It can be used by JRun 4 clients to access this Data Source.   &lt;/td&gt;   &lt;td&gt;TeraJDBC4&lt;/td&gt;  &lt;/tr&gt; &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;JNDI Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The JNDI name that can be used to look       up this data source on the server   &lt;/td&gt;   &lt;td&gt;jdbc/TeradataDS&lt;/td&gt;  &lt;/tr&gt; &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Driver Class Name&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;URL&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  Defines the URL that will be passed to the driver. &lt;br&gt;  The example Teradata Database name is "whomooz". &lt;br&gt;  You should use the actual Teradata Database hostname for your site.  &lt;br&gt;  &lt;br&gt;  Please note that any connection URL parameter such as "CHARSET" &lt;br&gt;  or "TMODE" must be set within this URL parameter. &lt;br&gt;  These CANNOT be set within the properties panel.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://whomooz&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Username&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;The Teradata Database username.&lt;/td&gt;   &lt;td&gt;guest&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Password&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  The password of the user defined by "Username".  &lt;br&gt;  &lt;br&gt;  After this value is applied it will not be visible as cleartext in the panel.   &lt;/td&gt;   &lt;td&gt;please&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h4&gt;Pool Connections&lt;br&gt;           Pool Statements&lt;br&gt;           Native Results&lt;/h4&gt;&lt;/td&gt;   &lt;td&gt;  All should remain checked which is their default value.   &lt;/td&gt;   &lt;td&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; After entering the required information, click on the "Submit" button to finish the data source creation. &lt;/p&gt; &lt;img border="0" src="images/ds-success_jrun.jpg" /&gt; &lt;p&gt; The final screen should say "Data source has been created" at the top and your new Data Source should be visible in the list of "JDBC Data Sources", in the bottom table in the right pane. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsusa_jrun"&gt;&lt;/a&gt; &lt;h3&gt;5.2. Data Source Usage&lt;/h3&gt; &lt;p&gt; See Appendix B for an example of a servlet that can be used to access the Data Source. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="troub"&gt;&lt;/a&gt; &lt;h2&gt;6. Troubleshooting&lt;/h2&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sesdw"&gt;&lt;/a&gt; &lt;h3&gt;6.1. Session Defaults Warning&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;p&gt; Teradata does not provide any means to "reset" a connection. Therefore, the user of a connection pool data source must avoid using any commands that affect session defaults. Any changes to session defaults will continue to be in effect for the next unsuspecting user of that connection. &lt;/p&gt; &lt;p&gt; Session parameters that &lt;strong&gt;must not be changed&lt;/strong&gt; include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Database (SET SESSION DATABASE command)&lt;/li&gt; &lt;li&gt;Collation (SET SESSION COLLATION command)&lt;/li&gt; &lt;li&gt;Character Set&lt;/li&gt; &lt;li&gt;Transaction Semantics&lt;/li&gt; &lt;li&gt;Dateform (SET SESSION DATEFORM command)&lt;/li&gt; &lt;li&gt;Timezone (SET TIME ZONE command)&lt;/li&gt; &lt;li&gt;Default date format&lt;/li&gt; &lt;li&gt;QueryBand (SET QUERY_BAND ... FOR SESSION command, introduced with Teradata Database 12.0)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The SET QUERY_BAND ... FOR TRANSACTION command is recommended as an alternative to SET QUERY_BAND ... FOR SESSION, because SET QUERY_BAND ... FOR TRANSACTION is limited in scope to the current transaction. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="unsupm"&gt;&lt;/a&gt; &lt;h3&gt;6.2. Unsupported Method&lt;/h3&gt; &lt;p&gt; It is important to ensure that a DataSource's "Native Results" checkbox is checked. (See &lt;a href="#stdsp_jrun"&gt;Section 5.1.4&lt;/a&gt;.) When it is not checked, the following error message may be seen: &lt;/p&gt; &lt;code&gt; [Teradata JDBC Driver] : Method not supported with this release of the Teradata Database: use the COMPAT_DBS and COMPAT_ISAUTOINC connection options &lt;/code&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="csamp"&gt;&lt;/a&gt; &lt;h2&gt;Appendix A:  ColdFusion Code Sample&lt;/h2&gt; &lt;p&gt; The following sample code uses the Data Source that was created earlier in ColdFusion via the Administrator console. &lt;/p&gt; &lt;p&gt; The actual script is: &lt;/p&gt; &lt;code&gt; &amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt; &amp;lt;title&amp;gt;A ColdFusion Page&amp;lt;/title&amp;gt;&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt; &amp;lt;body&amp;gt;&lt;br /&gt; This is a ColdFusion page.&lt;br /&gt; &amp;lt;br&amp;gt;&lt;br /&gt; &amp;lt;cfquery name="DBSINFO" datasource="TeraJDBC4"&amp;gt;&lt;br /&gt;    select InfoKey, InfoData from dbc.dbcinfo&lt;br /&gt; &amp;lt;/cfquery&amp;gt;&lt;br /&gt; &amp;lt;cfoutput query="DBSINFO"&amp;gt;&lt;br /&gt; #InfoKey#, #InfoData#&amp;lt;br&amp;gt;&lt;br /&gt; &amp;lt;/cfoutput&amp;gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt; &amp;lt;/html&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; When this script is put into a file &lt;code&gt;C:\CFusionMX\wwwroot\test.cfm&lt;/code&gt; &lt;/p&gt; &lt;p&gt; then it can be invoked from a browser via an URL &lt;code&gt;http://localhost:8500/test.cfm&lt;/code&gt; &lt;/p&gt; &lt;p&gt; and will produce output similar to the following: &lt;/p&gt; &lt;code&gt; This is a ColdFusion page.&lt;br /&gt; VERSION, 06.00.00.00&lt;br /&gt; RELEASE, V2R.06.00.00.00&lt;br /&gt; &lt;/code&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="csamp_jrun"&gt;&lt;/a&gt; &lt;h2&gt;Appendix B:  JRun Code Samples&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool with username and password passed as parameters. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String user = req.getParameter("user");&lt;br /&gt;     String password = req.getParameter("password");&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       out.println("User: " + user + "");&lt;br /&gt;       out.println("Password: " + password);&lt;br /&gt; &lt;br /&gt;       Connection con = ds.getConnection(user, password);&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool using Data Source default username and password. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       &lt;br /&gt;       Connection con = ds.getConnection();&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt;&lt;/div&gt;</description><pubDate>Wed, 17 Sep 2008 16:39:18 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>JBoss Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9366-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with JBoss Application Server &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: September 16, 2008 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; the JBoss application server. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2008 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#jbossl"&gt;2. JBoss 3.2.3 and JBoss 4.0&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;         2.1. &lt;a href="#prerq"&gt;Prerequisites&lt;/a&gt;&lt;br /&gt;         2.2. &lt;a href="#jbossds"&gt;JBoss Data source Definition&lt;/a&gt;&lt;br /&gt;         2.3. &lt;a href="#viewds"&gt;Viewing the Data source&lt;/a&gt;&lt;br /&gt;         2.4. &lt;a href="#addreq"&gt;Additional Requirements for CMP entity Beans&lt;/a&gt;&lt;br /&gt;         2.5. &lt;a href="#entapp"&gt;Data sources and Enterprise Applications&lt;/a&gt;&lt;br /&gt;            2.5.1.  &lt;a href="#bmp"&gt;Bean Managed Persistence&lt;/a&gt;&lt;br /&gt;            2.5.2.  &lt;a href="#cmp"&gt;Container Managed Persistence&lt;/a&gt;&lt;br /&gt;         2.6. &lt;a href="#usids"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#troub"&gt;3. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#sesdw"&gt;Session Defaults Warning&lt;/a&gt;&lt;br /&gt;      3.2. &lt;a href="#tr_userTrans"&gt;User Transaction Restrictions&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp"&gt;Appendix A: JBoss Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; The application server versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;JBoss 3.2.3&lt;/li&gt;  &lt;li&gt;JBoss 4.0&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC Driver release, to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; Please refer to the application server vendor's documentation to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for each application server version. &lt;/p&gt; &lt;p&gt; The Teradata JDBC Driver is supported for use with all combinations of operating systems, CPUs, and 32/64 bit modes that are supported by both the application server version and the Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; For Java software, an operating environment consists of the complete combination of the following items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the specific version of the underlying operating system&lt;/li&gt; &lt;li&gt;the specific JVM version&lt;/li&gt; &lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt; &lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Generally, the Teradata JDBC Driver is tested in a particular operating environment before that operating environment is supported for use with the Teradata JDBC Driver. Such testing is needed for the following reasons: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt; &lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the    Global Support Center (GSC), so that it can support customers.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; If a problem is encountered while using the Teradata JDBC Driver in an unsupported environment, then the GSC will attempt to reproduce the problem in the closest supported environment. If the problem can be reproduced in a supported environment, and the problem is determined to be due to the Teradata JDBC Driver, then the problem will be corrected and retested using the supported platform. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\platformMatrix.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tdgssShare"&gt;&lt;/a&gt; &lt;h3&gt;1.5. C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShare.html --&gt; &lt;p&gt; C/C++ applications that communicate with the Teradata Database use the TeraGSS security library. If C/C++ and Java applications are deployed to the same physical machine, then Java applications can be configured to use the TeraGSS security library's User Configuration File. &lt;/p&gt; &lt;p&gt; In this deployment scenario, Java applications do not use the tdgssconfig.jar file that is included in the Teradata JDBC Driver download package. Instead, the classpath for Java applications must include the TeraGSS directory that contains the TeraGSS User Configuration File, TdgssUserConfigFile.xml, as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   &lt;h3&gt;For shared TeraGSS configuration using the&lt;/h3&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;h3&gt;The classpath must include&lt;/h3&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 12.0 Teradata JDBC Driver and later  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 8.2 Teradata JDBC Driver 3.4 and earlier  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;tdgssjava.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For standalone Java applications, this is done via the applications' classpath. For J2EE applications deployed to an application server environment, the Data Source classpath is modified. &lt;/p&gt; &lt;/p&gt; Not all classloaders support the specification of a directory on the classpath. This deployment technique can only be used with classloaders that support the specification of a directory on the classpath. &lt;/p&gt; &lt;p&gt; Some application servers, such as SAP Web Application Server, only support the use of jar files when defining the classpath for a JDBC Data Source. If the application server or environment does not support the specification of a directory on the classpath, then C/C++ and Java applications cannot directly share the same TeraGSS User Configuration File. &lt;/p&gt; &lt;p&gt; For application servers or environments that do not support the specification of a directory on the classpath, the TeraGSS User Configuration File can only be shared indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS User Configuration File from the TeraGSS directory and to put the TeraGSS User Configuration File into the tdgssconfig.jar file from the Teradata JDBC Driver download package via: &lt;p&gt; &lt;code&gt;         jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/code&gt; &lt;p&gt; Each time the TeraGSS User Configuration File is modified, the jar "update" command must be executed again. The application server or environment must be restarted so that the modified tdgssconfig.jar will be used. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShare.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jbossl"&gt;&lt;/a&gt; &lt;h2&gt;2. JBoss 3.2.3 and JBoss 4.0&lt;/h2&gt; &lt;p&gt; The definition and availability of a Data source for JBoss is defined by XML files. The ones we will be creating/modifying in the following sections are: &lt;/p&gt; &lt;br /&gt; &lt;table class="BlackText" border="1" cellpadding="10"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;Files&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Purpose&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;.\server\default\deploy\teradata-ds.xml&lt;/td&gt;   &lt;td&gt;Defines a Teradata Datasource   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;.\server\default\conf\standardjbosscmpjdbc.xml&lt;/td&gt;   &lt;td&gt;Required for CMP entity beans   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;    &lt;td&gt;ejb-jar.xml&lt;/td&gt;   &lt;td&gt;Deployment Descriptors for EJBs   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;jboss.xml&lt;/td&gt;   &lt;td&gt;JBoss Deployment Descriptor   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="prerq"&gt;&lt;/a&gt; &lt;h3&gt;2.1. Prerequisites&lt;/h3&gt; &lt;p&gt; In all of the following examples, we assume that the Teradata JDBC install location is &lt;code&gt;C:\TeraJDBC&lt;/code&gt; and JBoss is installed at &lt;code&gt;C:\JBossHome&lt;/code&gt;. You should modify these values to reflect your actual installation. &lt;/p&gt; &lt;ul&gt; &lt;li&gt; Install JBoss 3.2.3 or JBoss 4.0 &lt;p&gt; &lt;li&gt; Copy the Teradata JDBC files from the Teradata JDBC install area to the JBoss install location. The files &lt;code&gt;terajdbc4.jar&lt;/code&gt; and &lt;code&gt;tdgssconfig.jar&lt;/code&gt; should be copied to the directory &lt;code&gt;C:\JBossHome\server\default\lib&lt;/code&gt;. &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; Note: If you are sharing the TeraGSS Security Configuration (see &lt;a href="#tdgssShare"&gt;section 1.5&lt;/a&gt;), then remove the &lt;code&gt;tdgssconfig.jar&lt;/code&gt; file from &lt;code&gt;C:\JBossHome\server\default\lib&lt;/code&gt; and add the file &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt; to &lt;code&gt;C:\JBossHome\server\default\conf&lt;/code&gt; &lt;/p&gt; &lt;a id="jbossds"&gt;&lt;/a&gt; &lt;h3&gt;2.2. JBoss Data source Definition&lt;/h3&gt; &lt;p&gt; A Data source is defined in JBoss via an xml file in the deploy directory which ends with the suffix "ds.xml". A Teradata Datasource will be defined by creating a "teradata-ds.xml" file in C:\JBossHome\server\default\deploy. The following is a sample "terdata-ds.xml" file, which you can be used as a template for creating your own data source. &lt;/p&gt; &lt;code&gt; &amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt; &amp;lt;datasources&amp;gt;&lt;br /&gt;   &amp;lt;local-tx-datasource&amp;gt;&lt;br /&gt;     &amp;lt;jndi-name&amp;gt;TeradataDS&amp;lt;/jndi-name&amp;gt;&lt;br /&gt;     &amp;lt;connection-url&amp;gt;jdbc:teradata://cyclops/TMODE=ANSI&amp;lt;/connection-url&amp;gt;&lt;br /&gt;     &amp;lt;driver-class&amp;gt;com.teradata.jdbc.TeraDriver&amp;lt;/driver-class&amp;gt;&lt;br /&gt;     &amp;lt;user-name&amp;gt;guest&amp;lt;/user-name&amp;gt;&lt;br /&gt;     &amp;lt;password&amp;gt;please&amp;lt;/password&amp;gt;&lt;br /&gt;   &amp;lt;/local-tx-datasource&amp;gt;&lt;br /&gt; &amp;lt;/datasources&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; &lt;table class="BlackText" border="1"&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;&lt;h3&gt;XML-TAG&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Description&lt;/h3&gt;&lt;/td&gt;   &lt;td&gt;&lt;h3&gt;Example&lt;/h3&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;jndi name&lt;/td&gt;   &lt;td&gt;Java Naming &amp; Directory Interface designation for this Data Source.       Note that this name is relative to the "java:" prefix.   &lt;/td&gt;   &lt;td&gt;TeradataDS   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td&gt;connection url&lt;/td&gt;   &lt;td&gt;Defines the URL that will be passed to the driver.   &lt;/td&gt;   &lt;td&gt;jdbc:teradata://Cyclops/TMODE=ANSI   &lt;/td&gt;  &lt;/tr&gt; &lt;tr valign="top"&gt;   &lt;td&gt;driver-class&lt;/td&gt;   &lt;td&gt;The name of the class that implements the java.sql.Driver interface.&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt;   &lt;/td&gt;   &lt;td&gt;com.teradata.jdbc.TeraDriver   &lt;/td&gt;  &lt;/tr&gt; &lt;tr valign="top"&gt;   &lt;td&gt;user-name&lt;/td&gt;   &lt;td&gt;The username for the Teradata Database.   &lt;/td&gt;   &lt;td&gt;guest   &lt;/td&gt;  &lt;/tr&gt; &lt;tr valign="top"&gt;   &lt;td&gt;password&lt;/td&gt;   &lt;td&gt;The password of the user defined by "Username"   &lt;/td&gt;   &lt;td&gt;please   &lt;/td&gt;  &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; The file "teradata-ds.xml" creates a data source which uses the J2EE Connector Architecture(JCA) implementation for JBoss. The JCA configuration format is described in the DTD file docs/dtd/jboss-ds_1_0.dtd. For more information on the JBoss JCA implementation refer to "JBoss Admin. and Development Guide 3.2.3" or "JBoss 4 Application Server Guide." &lt;/p&gt; &lt;p&gt; Note: XA-compliant data sources are not supported by the Teradata driver. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="viewds"&gt;&lt;/a&gt; &lt;h3&gt;2.3. Viewing the Data source&lt;/h3&gt; &lt;p&gt; At this point, the JNDI name of the data source can be viewed on the jmx-console web console for JBoss by using the following steps: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt; Start JBoss application server (Windows)  &lt;p&gt;  &lt;ul&gt;   &lt;li&gt;Start a command prompt window   &lt;li&gt;cd C:\JBossHome\bin   &lt;li&gt;execute run.bat  &lt;/ul&gt;  &lt;p&gt;  &lt;li&gt; Bring up the web console by going to the following URL in your web browser:  &lt;p&gt;  &lt;code&gt;http://localhost:8080/jmx-console/&lt;/code&gt;  &lt;p&gt;  &lt;li&gt;Select the jboss:service=JNDIView link  &lt;p&gt;  &lt;li&gt;Invoke the java.lang.String list() button &lt;/ul&gt; &lt;img border="0" src="images/jndiview.jpg" /&gt; &lt;p&gt; The JNDI name for the Teradata Data Source (i.e. TeradataDS) should appear under the java: Namespace as the screen capture above shows. &lt;/p&gt; &lt;a id="addreq"&gt;&lt;/a&gt; &lt;h3&gt;2.4. Additional Requirements for CMP entity Beans&lt;/h3&gt; &lt;p&gt; For CMP Entity Beans you need to add the following xml tags to the file &lt;/p&gt; &lt;code&gt;  C:\JBossHome\server\default\conf\standardjbosscmp-jdbc.xml &lt;/code&gt; &lt;code&gt; &amp;lt;type-mapping&amp;gt;&lt;br /&gt;    &amp;lt;name&amp;gt;teradata&amp;lt;/name&amp;gt;&lt;br /&gt;    &amp;lt;row-locking-template/&amp;gt;&lt;br /&gt;    &amp;lt;pk-constraint-template&amp;gt;CONSTRAINT ?1 PRIMARY KEY (?2)&amp;lt;/pk-constraint-template&amp;gt;&lt;br /&gt;    &amp;lt;fk-constraint-template&amp;gt;ALTER TABLE ?1 ADD CONSTRAINT ?2 FOREIGN KEY (?3) REFERENCES ?4 (?5)&amp;lt;/fk-constraint-template&amp;gt;&lt;br /&gt;    &amp;lt;alias-header-prefix&amp;gt;t&amp;lt;/alias-header-prefix&amp;gt;&lt;br /&gt;    &amp;lt;alias-header-suffix&amp;gt;_&amp;lt;/alias-header-suffix&amp;gt;&lt;br /&gt;    &amp;lt;alias-max-length&amp;gt;32&amp;lt;/alias-max-length&amp;gt;&lt;br /&gt;    &amp;lt;subquery-supported&amp;gt;true&amp;lt;/subquery-supported&amp;gt;&lt;br /&gt;    &amp;lt;true-mapping&amp;gt;1&amp;lt;/true-mapping&amp;gt;&lt;br /&gt;    &amp;lt;false-mapping&amp;gt;0&amp;lt;/false-mapping&amp;gt;&lt;br /&gt;    &amp;lt;function-mapping&amp;gt;&lt;br /&gt;       &amp;lt;function-name&amp;gt;count&amp;lt;/function-name&amp;gt;&lt;br /&gt;       &amp;lt;function-sql&amp;gt;count(?1)&amp;lt;/function-sql&amp;gt;&lt;br /&gt;    &amp;lt;/function-mapping&amp;gt;&lt;br /&gt;    &amp;lt;function-mapping&amp;gt;&lt;br /&gt;       &amp;lt;function-name&amp;gt;locate&amp;lt;/function-name&amp;gt;&lt;br /&gt;       &amp;lt;function-sql&amp;gt;locate(CAST(?1 as VARCHAR(254)),CAST(?2 as VaRCHAR(254)),?3)&amp;lt;/function-sql&amp;gt;&lt;br /&gt;    &amp;lt;/function-mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Boolean&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;BIT&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;SMALLINT&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Short&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;SMALLINT&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;SMALLINT&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Integer&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;INTEGER&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;INTEGER&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Long&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;BIGINT&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;BIGINT&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Float&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;REAL&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;REAL&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Double&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;DOUBLE&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;DOUBLE PRECISION&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Character&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;CHAR&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;CHAR&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.String&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;VARCHAR&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;VARCHAR(254)&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.sql.Date&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;DATE&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;DATE&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.sql.Time&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;TIME&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;TIME&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.sql.Timestamp&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;TIMESTAMP&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;TIMESTAMP&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    &amp;lt;!-- this one gives errors with DB2 V8.1&lt;br /&gt;         and at least the NET driver&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Object&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;JAVA_OBJECT&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;BLOB(2000)&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt;    --&amp;gt;&lt;br /&gt;    &amp;lt;mapping&amp;gt;&lt;br /&gt;       &amp;lt;java-type&amp;gt;java.lang.Object&amp;lt;/java-type&amp;gt;&lt;br /&gt;       &amp;lt;jdbc-type&amp;gt;VARBINARY&amp;lt;/jdbc-type&amp;gt;&lt;br /&gt;       &amp;lt;sql-type&amp;gt;BLOB(2000)&amp;lt;/sql-type&amp;gt;&lt;br /&gt;    &amp;lt;/mapping&amp;gt;&lt;br /&gt; &amp;lt;/type-mapping&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; The standard deployment descriptor to configure the JBoss CMP container is the standardjbosscmp-jdbc.xml file. Complete documentation of the XML tags for standardjbosscmp-jdbc.xml is in the directory  C:\JBossHome\docs\dtd &lt;/p&gt; &lt;a id="entapp"&gt;&lt;/a&gt; &lt;h3&gt;2.5. Data sources and Enterprise Applications&lt;/h3&gt; &lt;a id="bmp"&gt;&lt;/a&gt; &lt;h4&gt;2.5.1. Bean Managed Persistence &lt;/h4&gt; &lt;p&gt; Bean Managed Persistence (BMP) applications need to reference a Data source in the ejb-jar.xml file as the example below shows: &lt;/p&gt; &lt;code&gt; &amp;lt;resource-ref&amp;gt;&lt;br /&gt;    &amp;lt;res-ref-name&amp;gt;teraDB&amp;lt;/res-ref-name&amp;gt;&lt;br /&gt;    &amp;lt;res-type&amp;gt;javax.sql.DataSource&amp;lt;/res-type&amp;gt;&lt;br /&gt;    &amp;lt;res-auth&amp;gt;Container&amp;lt;/res-auth&amp;gt;&lt;br /&gt;    &amp;lt;res-sharing-scope&amp;gt;Shareable&amp;lt;/res-sharing-scope&amp;gt;&lt;br /&gt; &amp;lt;/resource-ref&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; ejb-jar.xml is the standard deployment descriptor file for enterprise java beans. Complete documentation of the XML tags for ejb-jar.xml is  in the directory: &lt;/p&gt; &lt;code&gt; C:\JBossHome\docs\dtd &lt;/code&gt; &lt;p&gt; In addition, the jboss.xml file must reference the JDBC data source directly as follows: &lt;/p&gt; &lt;code&gt; &amp;lt;resource-ref&amp;gt;&lt;br /&gt;    &amp;lt;res-ref-name&amp;gt;teraDB&amp;lt;/res-ref-name&amp;gt;&lt;br /&gt;    &amp;lt;jndi-name&amp;gt;java:/TeradataDS&amp;lt;/jndi-name&amp;gt;&lt;br /&gt; &amp;lt;/resource-ref&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; The jboss.xml is the deployment descriptor which has JBoss-specific information. Complete documentation of the XML tags for jboss.xml is in the directory  &lt;code&gt;C:\JBossHome\docs\dtd\&lt;/code&gt; &lt;/p&gt; &lt;a id="cmp"&gt;&lt;/a&gt; &lt;h4&gt;2.5.2. Container Managed Persistence &lt;/h4&gt; &lt;p&gt; Container Managed Persistence (CMP) entity beans need a reference to the Teradata Data source in the jbosscmp-jdbc.xml file as the example below shows: &lt;/p&gt; &lt;code&gt; &amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt; &amp;lt;jbosscmp-jdbc&amp;gt;&lt;br /&gt;    &amp;lt;defaults&amp;gt;&lt;br /&gt;       &amp;lt;datasource&amp;gt;java:/TeradataDS&amp;lt;/datasource&amp;gt;&lt;br /&gt;       &amp;lt;datasource-mapping&amp;gt;teradata&amp;lt;/datasource-mapping&amp;gt;&lt;br /&gt;    &amp;lt;/defaults&amp;gt;&lt;br /&gt; &amp;lt;/jbosscmp-jdbc&amp;gt;&lt;br /&gt; &lt;/code&gt; &lt;p&gt; The jbosscmp-jdbc.xml file replaces standardjbosscmp-jdbc.xml file for a specific application. The complete documentation of the XML tags for jbosscmp-jdbc.xml file is in the directory &lt;code&gt; C:\JBossHome\docs\dtd &lt;/code&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids"&gt;&lt;/a&gt; &lt;h3&gt;2.6. Using the DataSource&lt;/h3&gt; &lt;p&gt; The following code creates the initial context: &lt;/p&gt; &lt;code&gt;       Context ctx = new InitialContext(); &lt;/code&gt; &lt;p&gt; To perform a JNDI lookup to obtain the DataSource, the following code can be used: &lt;/p&gt; &lt;code&gt;       DataSource ds = (DataSource) ctx.lookup(jndiName); &lt;/code&gt; &lt;p&gt; To obtain a connection from the DataSource, the following code can be used: &lt;/p&gt; &lt;code&gt;       Connection con = ds.getConnection(); &lt;/code&gt; &lt;p&gt; See &lt;a href="#csamp"&gt;Appendix A&lt;/a&gt; for a complete application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="troub"&gt;&lt;/a&gt; &lt;h2&gt;3. Troubleshooting&lt;/h2&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sesdw"&gt;&lt;/a&gt; &lt;h3&gt;3.1. Session Defaults Warning&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;p&gt; Teradata does not provide any means to "reset" a connection. Therefore, the user of a connection pool data source must avoid using any commands that affect session defaults. Any changes to session defaults will continue to be in effect for the next unsuspecting user of that connection. &lt;/p&gt; &lt;p&gt; Session parameters that &lt;strong&gt;must not be changed&lt;/strong&gt; include: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Database (SET SESSION DATABASE command)&lt;/li&gt; &lt;li&gt;Collation (SET SESSION COLLATION command)&lt;/li&gt; &lt;li&gt;Character Set&lt;/li&gt; &lt;li&gt;Transaction Semantics&lt;/li&gt; &lt;li&gt;Dateform (SET SESSION DATEFORM command)&lt;/li&gt; &lt;li&gt;Timezone (SET TIME ZONE command)&lt;/li&gt; &lt;li&gt;Default date format&lt;/li&gt; &lt;li&gt;QueryBand (SET QUERY_BAND ... FOR SESSION command, introduced with Teradata Database 12.0)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The SET QUERY_BAND ... FOR TRANSACTION command is recommended as an alternative to SET QUERY_BAND ... FOR SESSION, because SET QUERY_BAND ... FOR TRANSACTION is limited in scope to the current transaction. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\sessionDefaults.html --&gt;&lt;/div&gt; &lt;a id="tr_userTrans"&gt;&lt;/a&gt; &lt;h3&gt;3.2. User Transaction Restrictions&lt;/h3&gt; &lt;p&gt; User transactions will not work in standalone Client Applications. J2EE user transactions require the "java:comp" JNDI environment to work with JBoss. User transactions can not be run from a standalone application because standalone clients do not access to the JBoss name space "java:comp". All Servlets, Session and Entity beans can use user transactions  because these components  run inside the JBoss application server which has access to JNDI name space "java:comp". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="csamp"&gt;&lt;/a&gt; &lt;h2&gt;Appendix A:  JBoss Code Samples&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool with username and password passed as parameters. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String user = req.getParameter("user");&lt;br /&gt;     String password = req.getParameter("password");&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       out.println("User: " + user + "");&lt;br /&gt;       out.println("Password: " + password);&lt;br /&gt; &lt;br /&gt;       Connection con = ds.getConnection(user, password);&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool using Data Source default username and password. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       &lt;br /&gt;       Connection con = ds.getConnection();&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt;&lt;/div&gt;</description><pubDate>Wed, 17 Sep 2008 16:38:21 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>SAP Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9365-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with SAP Web Application Server (WAS) 6.40 and SAP BW 3.5 Universal Data Connect (UD Connect) Integration &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: September 16, 2008 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; SAP Web Application Server and SAP BW 3.5 UD Connect Integration. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2008 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt;      1.6. &lt;a href="#dswas"&gt;Overview - Data Source in SAP Web Application Server 6.40&lt;/a&gt;&lt;br /&gt;      1.7. &lt;a href="#dsudc"&gt;Overview - Data Source in SAP BW 3.5 UD Connect Integration&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#sapws"&gt;2. SAP Web Application Server 6.40&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      2.1. &lt;a href="#dsvva"&gt;Data Source via Visual Administrator&lt;/a&gt;&lt;br /&gt;         2.1.1. &lt;a href="#prere"&gt;Prerequisites&lt;/a&gt;&lt;br /&gt;         2.1.2. &lt;a href="#stadt"&gt;Start the Administration Tool&lt;/a&gt;&lt;br /&gt;         2.1.3. &lt;a href="#dfjcd"&gt;Define the JDBC Connector Driver&lt;/a&gt;&lt;br /&gt;         2.1.4. &lt;a href="#cfjds"&gt;Configure the JDBC Connector DataSource&lt;/a&gt;&lt;br /&gt;      2.2. &lt;a href="#accds"&gt;Accessing the DataSource via a Java Servlet&lt;/a&gt;&lt;br /&gt;         2.2.1. &lt;a href="#convs"&gt;DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/a&gt;&lt;br /&gt;         2.2.2. &lt;a href="#usids"&gt;Using the DataSource&lt;/a&gt;&lt;br /&gt;      2.3. &lt;a href="#perfp"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#sapud"&gt;3. SAP BW 3.5 UD Connect Integration&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#aspre"&gt;Assumptions and Prerequisites&lt;/a&gt;&lt;br /&gt;      3.2. &lt;a href="#tddtm"&gt;Teradata Data Modeling&lt;/a&gt;&lt;br /&gt;         3.2.1. &lt;a href="#dbmdl"&gt;Database Modeling&lt;/a&gt;&lt;br /&gt;         3.2.2. &lt;a href="#incds"&gt;InfoCube DataSources&lt;/a&gt;&lt;br /&gt;         3.2.3. &lt;a href="#mdtds"&gt;Master Data DataSources&lt;/a&gt;&lt;br /&gt;         3.2.4. &lt;a href="#agjid"&gt;Aggregate Join Indices&lt;/a&gt;&lt;br /&gt;      3.3. &lt;a href="#crvva"&gt;Java Connector and RFC Provider via Visual Administrator&lt;/a&gt;&lt;br /&gt;         3.3.1. &lt;a href="#stadt2"&gt;Start the Administration Tool&lt;/a&gt;&lt;br /&gt;         3.3.2. &lt;a href="#dfjcd2"&gt;Define the JDBC Connector Driver&lt;/a&gt;&lt;br /&gt;         3.3.3. &lt;a href="#cfjcn"&gt;Configure the Java Connector&lt;/a&gt;&lt;br /&gt;         3.3.4. &lt;a href="#cfrfc"&gt;Configure the RFC Provider in Visual Administrator&lt;/a&gt;&lt;br /&gt;      3.4. &lt;a href="#dsvba"&gt;BW DataSource via SAP BW Administrator&lt;/a&gt;&lt;br /&gt;         3.4.1. &lt;a href="#stgui"&gt;Start SAP Front End Logon GUI&lt;/a&gt;&lt;br /&gt;         3.4.2. &lt;a href="#cfrfc2"&gt;Configure the RFC Provider in SAP GUI&lt;/a&gt;&lt;br /&gt;         3.4.3. &lt;a href="#stbaw"&gt;Start BW Administrator Workbench&lt;/a&gt;&lt;br /&gt;         3.4.4. &lt;a href="#crgds"&gt;Create BW Generic DataSource&lt;/a&gt;&lt;br /&gt;            3.4.4.1. &lt;a href="#priob"&gt;Prepare Required InfoObjects&lt;/a&gt;&lt;br /&gt;            3.4.4.2. &lt;a href="#ccisr"&gt;Create and Configure InfoSource&lt;/a&gt;&lt;br /&gt;            3.4.4.3. &lt;a href="#cabds"&gt;Create and Activate BW DataSource&lt;/a&gt;&lt;br /&gt;         3.4.5. &lt;a href="#cdsdt"&gt;Connect DataSource to Data Target for Characteristic InfoObject&lt;/a&gt;&lt;br /&gt;         3.4.6. &lt;a href="#cdsic"&gt;Connect DataSource to Remote InfoCube&lt;/a&gt;&lt;br /&gt;      3.5. &lt;a href="#perpr"&gt;Performance Parameters&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#troub"&gt;4. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      4.1. &lt;a href="#jdbcd"&gt;JDBC Driver Debugging&lt;/a&gt;&lt;br /&gt;      4.2. &lt;a href="#sqltr"&gt;SQL Trace&lt;/a&gt;&lt;br /&gt;      4.3. &lt;a href="#bwstr"&gt;BW System Trace&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#ssamp"&gt;Appendix A: SAP Web Application Server Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; The application server versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;SAP Web Application Server 6.40&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Other tools covered are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;SAP BW 3.5&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.1 with IBM JVM 1.4.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.0 with IBM JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 6.1 with IBM JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with Sun JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 7.0 with JRockit JVM 1.3.1&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with Sun JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 8.1 with JRockit JVM 1.4.1 or 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.1 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 9.2 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebLogic 10.0 with JRockit JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 6.1 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 JRun 4 Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion MX 7 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Server Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 Multiserver (JRun 4) Configuration with Sun JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;ColdFusion 8 J2EE Configuration in third-party application server&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 3.2.3 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JBoss 4.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SAP Web AS 6.40 with Sun JVM 1.4.2&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 5.5 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Tomcat 6.0 with Sun JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; Please refer to the Teradata JDBC Driver User Guide for each Teradata JDBC Driver release, to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for that Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; Please refer to the application server vendor's documentation to obtain the list of supported combinations of operating systems, CPUs, and 32/64 bit modes for each application server version. &lt;/p&gt; &lt;p&gt; The Teradata JDBC Driver is supported for use with all combinations of operating systems, CPUs, and 32/64 bit modes that are supported by both the application server version and the Teradata JDBC Driver release. &lt;/p&gt; &lt;p&gt; For Java software, an operating environment consists of the complete combination of the following items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the specific version of the underlying operating system&lt;/li&gt; &lt;li&gt;the specific JVM version&lt;/li&gt; &lt;li&gt;the 32-bit or 64-bit mode of the JVM&lt;/li&gt; &lt;li&gt;the specific version of the application server, if an application server is used.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Generally, the Teradata JDBC Driver is tested in a particular operating environment before that operating environment is supported for use with the Teradata JDBC Driver. Such testing is needed for the following reasons: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;to verify the correct operation of the Teradata JDBC Driver&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the underlying operating system version&lt;/li&gt; &lt;li&gt;to identify the minimum patch level needed for the JVM version&lt;/li&gt; &lt;li&gt;to ensure documentation, such as workarounds or Tech alerts, is available for the    Global Support Center (GSC), so that it can support customers.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; If a problem is encountered while using the Teradata JDBC Driver in an unsupported environment, then the GSC will attempt to reproduce the problem in the closest supported environment. If the problem can be reproduced in a supported environment, and the problem is determined to be due to the Teradata JDBC Driver, then the problem will be corrected and retested using the supported platform. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\platformMatrix.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tdgssShare"&gt;&lt;/a&gt; &lt;h3&gt;1.5. C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssShare.html --&gt; &lt;p&gt; C/C++ applications that communicate with the Teradata Database use the TeraGSS security library. If C/C++ and Java applications are deployed to the same physical machine, then Java applications can be configured to use the TeraGSS security library's User Configuration File. &lt;/p&gt; &lt;p&gt; In this deployment scenario, Java applications do not use the tdgssconfig.jar file that is included in the Teradata JDBC Driver download package. Instead, the classpath for Java applications must include the TeraGSS directory that contains the TeraGSS User Configuration File, TdgssUserConfigFile.xml, as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   &lt;h3&gt;For shared TeraGSS configuration using the&lt;/h3&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;h3&gt;The classpath must include&lt;/h3&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 12.0 Teradata JDBC Driver and later  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr valign="top"&gt;  &lt;td&gt;   TTU 8.2 Teradata JDBC Driver 3.4 and earlier  &lt;/td&gt;  &lt;td&gt;   &lt;code&gt;terajdbc4.jar&lt;/code&gt;&lt;br /&gt;   &lt;code&gt;tdgssjava.jar&lt;/code&gt;&lt;br /&gt;   The directory containing &lt;code&gt;TdgssUserConfigFile.xml&lt;/code&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;p&gt; For standalone Java applications, this is done via the applications' classpath. For J2EE applications deployed to an application server environment, the Data Source classpath is modified. &lt;/p&gt; &lt;/p&gt; Not all classloaders support the specification of a directory on the classpath. This deployment technique can only be used with classloaders that support the specification of a directory on the classpath. &lt;/p&gt; &lt;p&gt; Some application servers, such as SAP Web Application Server, only support the use of jar files when defining the classpath for a JDBC Data Source. If the application server or environment does not support the specification of a directory on the classpath, then C/C++ and Java applications cannot directly share the same TeraGSS User Configuration File. &lt;/p&gt; &lt;p&gt; For application servers or environments that do not support the specification of a directory on the classpath, the TeraGSS User Configuration File can only be shared indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS User Configuration File from the TeraGSS directory and to put the TeraGSS User Configuration File into the tdgssconfig.jar file from the Teradata JDBC Driver download package via: &lt;p&gt; &lt;code&gt;         jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/code&gt; &lt;p&gt; Each time the TeraGSS User Configuration File is modified, the jar "update" command must be executed again. The application server or environment must be restarted so that the modified tdgssconfig.jar will be used. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssShare.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dswas"&gt;&lt;/a&gt; &lt;h3&gt;1.6. Overview - Data Source in SAP Web Application Server 6.40&lt;/h3&gt; &lt;p&gt; This section provides a quick overview of Data Source configuration in SAP WAS 6.40. More details are provided in subsequent sections. &lt;/p&gt; &lt;p&gt; The Teradata JDBC driver can be used as an SAP WAS 6.40 data source. Within SAP WAS 6.40, the use of a DataSource object, instead of DriverManager, is the preferred means of connecting to a data source. &lt;/p&gt; &lt;p&gt; To use the DataSource interface within SAP WAS 6.40, the JDBC Connector driver definition and JDBC Data Source will need to be configured for Teradata JDBC type 4 driver. &lt;/p&gt; &lt;p&gt; When defining the JDBC Connector driver through SAP Visual Administrator, the following Teradata JDBC driver jar files are needed. &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;terajdbc4.jar&lt;/li&gt;  &lt;li&gt;tdgssconfig.jar&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; When configuring the JDBC Connector Data Source through SAP Visual Administrator, the following Teradata-specific configuration parameters are needed. &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;JDBC Version&lt;/td&gt;&lt;td&gt;&lt;code&gt;1.x (no XA support)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Driver Classname&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;&lt;td&gt;&lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Database URL&lt;/td&gt;&lt;td&gt;&lt;code&gt;jdbc:teradata://&lt;/code&gt;&lt;i&gt;DataSourceName&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;User&lt;/td&gt;&lt;td&gt;the username to connect to the data source&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;the password to connect to the data source&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;SQL Engine&lt;/td&gt;&lt;td&gt;&lt;code&gt;Vendor SQL&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsudc"&gt;&lt;/a&gt; &lt;h3&gt;1.7. Overview - Data Source in SAP BW 3.5 UDC Integration&lt;/h3&gt; &lt;p&gt; To use Teradata JDBC driver with SAP BW 3.5 UDC intetgration, the Java Connectors will need to be configured through Connector Container section and RFC destination will need to be defined through JCo RFC Provider section in the Visual Administrator, &lt;/p&gt; &lt;p&gt; When configuring the Java Connectors in the Visual Administrator, the following Teradata-specific configuration parameters are needed: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;DriverName&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;&lt;td&gt;&lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;FixedSchema&lt;/td&gt;&lt;td&gt;the database schema name&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;URL&lt;/td&gt;&lt;td&gt;&lt;code&gt;jdbc:teradata://&lt;/code&gt;&lt;i&gt;DataSourceName&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;UserName&lt;/td&gt;&lt;td&gt;the username to connect to the database schema&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;the password to connect to the database schema&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="sapws"&gt;&lt;/a&gt; &lt;h2&gt;2. SAP Web Application Server 6.40&lt;/h2&gt; &lt;p&gt; The recommended way to create the data source within SAP is to use the graphical interface via SAP Visual Administrator. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsvva"&gt;&lt;/a&gt; &lt;h3&gt;2.1. Data Source via Visual Administrator&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="prere"&gt;&lt;/a&gt; &lt;h4&gt;2.1.1. Prerequisites&lt;/h4&gt; &lt;p&gt; Prior to define JDBC Connector driver in Visual Administrator, the following Teradata JDBC Driver jar files need to be available on the server: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;terajdbc4.jar&lt;/li&gt;  &lt;li&gt;tdgssconfig.jar&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; Some earlier Teradata JDBC driver versions contain the TeraGSS security library's user configuration file "TdgssUserConfigFile.xml" instead of the above tdgssconfig.jar file. When C/C++ and Java applications are deployed to the same physical machine, the Java applications can be configured to use this user configuration file. However, SAP Web Application Server 6.40 doesn't support the specification of a directory on the classpath, this TeraGSS user configuration file can only be shared by C/C++ and Java applications indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;p&gt; A jar "update" command must be executed to take the TeraGSS user configuration file from the TeraGSS directory and to put it into the tdgssconfig.jar file: &lt;/p&gt; &lt;p&gt; jar uvf tdgssconfig.jar TdgssUserConfigFile.xml &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadt"&gt;&lt;/a&gt; &lt;h4&gt;2.1.2. Start the Administration Tool&lt;/h4&gt; &lt;p&gt; The Administration Tool of the SAP J2EE Engine (Visual Administrator) is a GUI interface that allows the users to adminstrater Java services within a cluster and provides remote monitoring and management of these services. &lt;/p&gt; &lt;p&gt; For the user who will run the administration tool (for example, &amp;lt;SAPSID&amp;gt;adm), make sure that SAPINST_JRE_HOME environment variable contains the path to the Java Development Kit (JDK) of the J2EE Engine. &lt;/p&gt; &lt;p&gt; Note: On UNIX, make sure that the DISPLAY environment variable is set to &amp;lt;host_name&amp;gt;:0.0, where &amp;lt;host_name&amp;gt; is the host on which the administration tool will be displayed. &lt;/p&gt; &lt;p&gt; Enter the following command to start the administration tool: &lt;br&gt; UNIX:&lt;br&gt; /usr/sap/&amp;lt;SAPSID&amp;gt;/&amp;lt;Instance_Name&amp;gt;/j2ee/admin/go &lt;br&gt; Windows:&lt;br&gt; &amp;lt;driver&amp;gt;:\usr\sap\&amp;lt;SAPSID&amp;gt;\&amp;lt;Instance_Name&amp;gt;\j2ee\admin\go.bat &lt;br&gt; &lt;/p&gt; &lt;p&gt; The "J2EE Engine - Administration" screen with the dialog box "Connect to J2EE Enngine" appears. &lt;/p&gt; &lt;p&gt; For SAP J2EE standalone system, choose "Connect" to use the "Default" login and enter the password for the Administrator user of the J2EE engine. &lt;/p&gt; &lt;p&gt; For SAP J2EE add-in system, the "Default" login can not be used. The following steps need to be performed: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Choose "New"&lt;/li&gt;  &lt;li&gt;Enter a display name and choose "Direct Connection to a dispatcher Node"&lt;/li&gt;  &lt;li&gt;Choose "Next"&lt;/li&gt;  &lt;li&gt;Enter the following information:   &lt;ul&gt;    &lt;li&gt;User Name: J2EE_ADMIN&lt;/li&gt;    &lt;li&gt;Host: &amp;lt;host_name&amp;gt; of the J2EE Engine&lt;/li&gt;    &lt;li&gt;Port: 5&amp;lt;Instance_Number_of_SAP_J2EE_Engine&amp;gt;04&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt;  &lt;li&gt;Choose "Save" and connect with the new login account by choosing "Connect"&lt;/li&gt;  &lt;li&gt;Enter password for the J2EE_ADMIN user and choose "Connect"&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/visualadm-logon.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dfjcd"&gt;&lt;/a&gt; &lt;h4&gt;2.1.3. Define the JDBC Connector Driver&lt;/h4&gt; &lt;p&gt; After connecting to the J2EE Engine, expand "Cluster", and then "Server", and then "Services". &lt;br&gt; Scroll down and click "JDBC Connector". On the right pane, click on "Drivers", and then click the paper icon to create a new driver definition. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-1.jpg" /&gt; &lt;p&gt; In the dialog box, enter the name of the JDBC driver definition, and click "OK". &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-2.jpg" /&gt; &lt;p&gt; Navigate to the directory where you store the JDBC driver jar files, and select a .jar file, and click "OK". &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-3.jpg" /&gt; &lt;p&gt; A confirmation screen will appear asking "Do you want to select other files ?", click "Yes" to add more jar files. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-4.jpg" /&gt; &lt;p&gt; All the Teradata JDBC driver jar files are needed for this step. Make sure you go back to add more jar files after each selected jar file. After finishing all the jar files, click "No". Now the new JDBC Connector driver is created with the specified jar files. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cfjds"&gt;&lt;/a&gt; &lt;h4&gt;2.1.4. Configure the JDBC Connector DataSource&lt;/h4&gt; &lt;p&gt; Now the JDBC Connector driver has been configured as shown below. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector.jpg" /&gt; &lt;p&gt; On the right pane of the "JDBC Connector" section in the Visual Administrator, click on "DataSources", and then click the paper icon to create a new DataSource definition. &lt;/p&gt; &lt;img border="0" src="images/create-ds-1.jpg" /&gt; &lt;p&gt; The new DataSource definition template includes 4 tabs: "Main", "Additional", "DB Initialization", "Monitoring". &lt;/p&gt; &lt;p&gt; The following inputs are needed for the "Main" tab: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;the new DataSource name&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;the description for the DataSource&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Driver Name&lt;/td&gt;&lt;td&gt;use the pull-down arrow to choose the driver defined in the above step&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JDBC Version&lt;/td&gt;&lt;td&gt;1.x (no XA support)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Driver Class&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;&lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Database URL&lt;/td&gt;&lt;td&gt;jdbc:teradata://DataBaseServer/parameter_list&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;User&lt;/td&gt;&lt;td&gt;the username to connect to the database&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;the password to connect to the database&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;img border="0" src="images/create-ds-2.jpg" /&gt; &lt;p&gt; Some aliases can be added for referencing this DataSource. &lt;/p&gt; &lt;p&gt; On the "Additional" tab, make sure "Vendor SQL" is selected for "SQL Engine". &lt;/p&gt; &lt;img border="0" src="images/create-ds-3.jpg" /&gt; &lt;p&gt; On the "DB Initialization" tab, SQL statements can be added and executed to verify the DataSource connection. &lt;/p&gt; &lt;p&gt; After the above configurations are done for the new DataSource, click the save icon to save the DataSource configuration. The "Application Name" on the "Main" tab will be automatically generated. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="accds"&gt;&lt;/a&gt; &lt;h3&gt;2.2. Accessing the DataSource via a Java Servlet&lt;/h3&gt; &lt;p&gt; A Java servlet can access a data source to get pooled connections. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="convs"&gt;&lt;/a&gt; &lt;h4&gt;2.2.1. DataSource.getConnection() vs. DataSource.getConnection(username,password)&lt;/h4&gt; &lt;p&gt; With SAP, a JDBC Connector driver is defined to specify information about the JDBC driver. After the JDBC Connector driver has been defined, then one or more DataSources can be configured for the JDBC driver. During the process of defining each DataSource, the driver access parameters can be configured for each DataSource. &lt;/p&gt; &lt;p&gt; Generally the user and password for the database need to be entered on the "Main" tab. The DataSource will use this default user/password pair to access the database via the driver when an application calls DataSource.getConnection(). The following cases illustrate how these default user/password pair is used: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;If "user" and "password" parameters are defined in the DataSource definition, then they serve     as the default values when an application calls DataSource.getConnection().&lt;/li&gt; &lt;li&gt;If "user" and "password" parameters are defined in the DataSource definition, then the     application can override those default values by calling DataSource.getConnection(username,password).&lt;/li&gt; &lt;li&gt;If "user" and "password" parameters are not defined completely (but "User" input can not be empty),     then an application must call DataSource.getConnection(username,password) in order to connect to the database.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; In other words, user and password values must be specified either as default parameters in the DataSource definition, or as arguments to DataSource.getConnection(username,password), or both; and when both are specified, then the arguments to DataSource.getConnection(username,password) override the "user" and "password" Custom Properties defined for a Data Source. &lt;/p&gt; &lt;p&gt; NOTE: the User parameter input in the DataSource definition can not be empty, otherwise the following exception will be generated: &lt;/p&gt; &lt;p&gt; java.rmi.RemoteException: Cannot deploy application sap.com/JDBCConnector_&amp;lt;DataSourceName&amp;gt;.xml &lt;/p&gt; &lt;p&gt; A SQLException will be thrown if either the password value is not specified in DataSource definition (user value can not be empty), or user and password values are not specified as arguments to DataSource.getConnection(username,password). &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : The UserId, Password or Account is invalid.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08003&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : The parcel stream is invalid.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08003&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; A SQLException will be thrown if user and password values are specified, but the specified user or password are invalid. Note that invalid user and password values specified as arguments to DataSource.getConnection(username,password) will override correct user and password values specified in Custom Properties. When DataSource.getConnection(username,password) is called but authentication fails, SAP does not "fallback" to use the values specified in Custom Properties. &lt;/p&gt; &lt;p&gt; The exception will differ depending on the combination of Teradata JDBC Driver version and Teradata Database release. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : Invalid password.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08003&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; or &lt;ul&gt; &lt;li&gt;Message: &lt;code&gt;[Teradata Database] : User identification is not authorized.&lt;/code&gt;&lt;/li&gt; &lt;li&gt;SQLState: &lt;code&gt;08003&lt;/code&gt;&lt;/li&gt; &lt;li&gt;Error code: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="usids"&gt;&lt;/a&gt; &lt;h4&gt;2.2.2. Using the DataSource&lt;/h4&gt; &lt;p&gt; The servlet is accessed via a URL similar to the following: &lt;/p&gt; &lt;code&gt; http://server/servlet/servletname &lt;/code&gt; &lt;p&gt; In the example, the username, password and datasource name are all specified in the URL parameters: &lt;/p&gt; &lt;code&gt; http://charlie/servlet/SampleJdbcServlet?user=guest&amp;amp;password=please&amp;amp;datasource=teradata4 &lt;/code&gt; &lt;p&gt; Note that user-defined variables are in &lt;i&gt;italics&lt;/i&gt;. &lt;/p&gt; &lt;h4&gt;Accessing the URL Parameters&lt;/h4&gt; &lt;code&gt; String user = req.getParameter("&lt;i&gt;user&lt;/i&gt;"); &lt;br /&gt; String password = req.getParameter("&lt;i&gt;password&lt;/i&gt;"); &lt;br /&gt; String datasource = req.getParameter("&lt;i&gt;datasource&lt;/i&gt;"); &lt;/code&gt; &lt;h4&gt;Creating the Initial Naming Context&lt;/h4&gt; &lt;code&gt; Context ctx = new InitialContext(); &lt;/code&gt; &lt;h4&gt;Lookup the Data Source&lt;/h4&gt; &lt;code&gt; DataSource ds = (DataSource) ctx.lookup(datasource); &lt;/code&gt; &lt;h4&gt;Use the Data Source to get Connections&lt;/h4&gt; &lt;code&gt; Connection con = ds.getConnection(); &lt;/code&gt; &lt;p&gt; At this point, the connection obtained behaves the same way as one obtained from the Driver Manager. &lt;/p&gt; &lt;p&gt; See Appendix A for a complete Application. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perfp"&gt;&lt;/a&gt; &lt;h3&gt;2.3. Performance Parameters&lt;/h3&gt; &lt;p&gt; The Connection Pooling properties can be configured through the "Additional" tab in the DataSource definition &amp;#119;indow. After DataSource is defined and saved, its parameters and properties can be modified and these new changes can be saved. &lt;/p&gt; &lt;p&gt; The following parameters are related to the DataSource performance: &lt;/p&gt; &lt;p&gt; &lt;i&gt;Initial Connections&lt;/i&gt; - generally use the default value (0). &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Time to Wait for Connection&lt;/i&gt; - generally use the default value (60). &lt;/p&gt; &lt;p&gt; &lt;i&gt;Expiration&lt;/i&gt; - specify if the connections in the pool will be expired and removed. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Connection Lifetime&lt;/i&gt; - specify how many seconds a connection may stay in pool before it is closed. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Cleanup Thread&lt;/i&gt; - schedule a thread that periodically cleans up unused connection objects at a regular interval that you set in seconds. &lt;/p&gt; &lt;img border="0" src="images/ds-perform.jpg" /&gt; &lt;p&gt; Generally the Java applications will close the connections and return the connections back to the connection pool after finishing all the queries. However, some applications and clients, such as Business Explorer, don't close the connections they have acquired and/or other resources such as ResultSets when returning the connections to connection pool, then sometimes issues will occur, such as exceptions like "[Teradata DBMS]: Response limit exceeded". This exception when more than 15 time queries are executed within the ResultSet in the connection, but the ResultSet is not closed when returning to connection pool. These connections that are not closed and/or have unreleased resources like ResulSets should be regularly cleaned up, and the three parameters "Expiration", "Connection Lifetime", and "Cleanup Thread" can be configured for this purpose. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="sapud"&gt;&lt;/a&gt; &lt;h2&gt;3. SAP BW 3.5 UD Connect Integration&lt;/h2&gt; &lt;p&gt; SAP BW 3.5 introduces BI Java Connector that is a resource adapter compliant with the Java Connector Architecture (JCA) and is deployed into SAP NetWeaver's J2EE server. After configuring the JDBC driver, Java Connector and RFC provider on the J2EE Visual Administrator, SAP BW system can access data from Teradata to: load Master Data directly (without having to land a flat file), extract data to build a Basic Cube, or query Teradata through queries written against a Remote InfoCube. &lt;/p&gt; &lt;p&gt; SAP BW 3.5 introduces BI Java Connector that is a resource adapter compliant with the Java Connector Architecture (JCA) and is deployed into SAP NetWeaver's J2EE server. After configuring the JDBC driver, Java Connector and RFC provider on the J2EE Visual Administrator, SAP BW system can access data from Teradata to: load Master Data directly (without having to land a flat file), extract data to build a Basic Cube, or query Teradata through queries written against a Remote InfoCube. &lt;/p&gt; &lt;p&gt; There are 4 main components in the SAP BW system architecture system:&lt;br&gt;&lt;br&gt; 1. Business Explorer: &lt;br&gt; The Business Explorer (BEx) front-end provides for the end-user experience of either launching pre-built BW reports/queries or allowing interactive ad-hoc query capabilities from the Query Designer. Any of the certified BW front-end tools can be leveraged in this solution. The BEx front-end interfaces to the next component - the BW Server.&lt;br&gt;&lt;br&gt; 2. SAP BW Server: &lt;br&gt; The SAP BW Server houses the BW OLAP processor which interfaces to BW InfoCubes. InfoCubes are built from BW InfoObjects (Characteristics &amp;amp; Key Figures). Mapping BW InfoObjects to Teradata relational objects, and creating a DataSource and InfoSource for BW targets (Remote InfoCubes or Master Data) are performed in the BW Administrator (a UD Connect component also resides on the BW Server - a generic DataSource generator with an object mapping GUI to assist in creating these objects). Once the DataSource is created, it can be used to connect a Remote Info-Cube or to enable loading Master Data directly from Teradata. The BW Server interfaces to the next component "the Java Service" via an RFC mechanism.&lt;br&gt;&lt;br&gt; 3. UC Connect Java Components: &lt;br&gt; The Java component of UD Connect resides in the SAP Web Application Server. It is responsible for the communication between Data Sources and SAP BW.  Data Sources and the Source Objects (i.e., in Teradata) are addressable via the BI Java Connectors. Via the SAP Java Connector (JCo), UD Connect provides stateless Session Beans to enable this communication. The Session Beans call Function Modules in BW via an RFC connection between the J2EE Engine and the BW Server. The JDBC BI Connector interfaces to Teradata via the Teradata Driver for the JDBC Interface.&lt;br&gt;&lt;br&gt; 4. Teradata Data Warehouse: &lt;br&gt; The Teradata Data Warehouse processes the SQL request, utilizing Aggregate Join Indexes if possible. After execution of the SQL Statement, the answer set is streamed back to the J2EE Engine, and then rendered in the end-user front-end tool of choice (for a Remote InfoCube target), or loaded into BW Master Data repository.&lt;br&gt;&lt;br&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="aspre"&gt;&lt;/a&gt; &lt;h3&gt;3.1. Assumptions and Prerequisites&lt;/h3&gt; &lt;p&gt; The following assumptions and prerequisites are required for configuring and using SAP BW UD Connect system: &lt;/p&gt; &lt;p&gt; 1. SAP NewWeaver 4.0 ABAP and Java systems have been installed completely&lt;br&gt;&lt;br&gt; 2. SAP BW 3.5 system is available&lt;br&gt;&lt;br&gt; 3. SAP NetWeaver 04 system has been upgraded with Support Package Stack 13 or higher&lt;br&gt;&lt;br&gt; 4. Prior to define JDBC Connector driver in Visual Administrator, the following Teradata JDBC Driver jar files need to be available on the server:&lt;br&gt; &lt;ul&gt;  &lt;li&gt;terajdbc4.jar&lt;/li&gt;  &lt;li&gt;tdgssconfig.jar&lt;/li&gt; &lt;/ul&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; Some earlier Teradata JDBC driver versions contain the TeraGSS security library's user configuration file "TdgssUserConfigFile.xml" instead of the above tdgssconfig.jar file. When C/C++ and Java applications are deployed to the same physical machine, the Java applications can be configured to use this user configuration file. However, SAP Web Application Server 6.40 doesn't support the specification of a directory on the classpath, this TeraGSS user configuration file can only be shared by C/C++ and Java applications indirectly, and an extra step must be performed to enable this indirect sharing. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="tddtm"&gt;&lt;/a&gt; &lt;h3&gt;3.2. Teradata Data Modeling&lt;/h3&gt; &lt;p&gt; Teradata V2R5.1 or greater is recommended due to potential leveraging of Aggregate Join Indexing to maximize the OLAP user experience. Additionally, it will be beneficial to utilize the Join Elimination feature due to UD Connect requirements to connect a BW DataSource to only one database object (table or view). &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dbmdl"&gt;&lt;/a&gt; &lt;h4&gt;3.2.1. Database Modeling&lt;/h4&gt; &lt;p&gt; Prior to configure and use SAP BW 3.5 UD Connect system, some basic BW data model will need to be prepared and documented to include the following items: dimensions, BW InfoObject technical names, types, datatypes, lengths, relationships of all objects to each other, etc. &lt;/p&gt; &lt;p&gt; Corresponding objects in Teradata data warehouse will need to be identified and modeled appropriately to map to each BW InfoObject. Completing the object mapping is highly recommended before proceeding. &lt;/p&gt; &lt;p&gt; The SAP BW UD Connect features limit the use of one database object (table or view) per BW DataSource. Therefore, creation of a set of database views on top of the Teradata relational datasource will be needed. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="incds"&gt;&lt;/a&gt; &lt;h4&gt;3.2.2. InfoCube DataSources&lt;/h4&gt; &lt;p&gt; Since only one database object can be assigned to a BW DataSource, unless your database schema on Teradata is completely denormalized into one table, a view may be needed to pre-join any dimension tables to the fact table. &lt;/p&gt; &lt;p&gt; If dimension tables are not used to model hierarchical relationships, and only used to model descriptive information for key values, joining these in a view may not be necessary. You specific data model will dictate this decision. &lt;/p&gt; &lt;p&gt; A possible view to model would include all Characteristic InfoObjects (keys) from all dimensions plus all Key Figure InfoObjects included in the desired InfoCube. The name of this view or table will be selected for the "UD Connect Source Object" parameter used in DataSource creation. &lt;/p&gt; &lt;p&gt; Based on your particular model, it may be important to implement soft R.I. to enable the Join Elimination feature in Teradata, given the requirement to pre-join structures in a view for presentation to UD Connect. &lt;/p&gt; &lt;p&gt; An Aggregate Join Index (AJI) structure mirroring the denormalized view structure may be desireable. See section below on AJIs for more details &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="mdtds"&gt;&lt;/a&gt; &lt;h4&gt;3.2.3. Master Data DataSources&lt;/h4&gt; &lt;p&gt; It may be useful to construct a set of views of Master Data that mirrors the Communication Structure for the data target, and use this view in the "UD Connect Source Object" element when creating the DataSource. The required objects will be driven by the user's particular implementation, however, the following are recommended for Text Master Data and Attribute Master Data:&lt;br&gt;&lt;br&gt; For Text Master Data, usually the format for the Communication Structure is the Characteristic key followed by one or more of the InfoObjects associated with Text Master Data descriptions. If your Characteristics are 'language-dependent' or time-dependent, you may require additional fields (Language Key, Date From/To) as well. Data lengths between the source object and Text Descriptions should be consistent.&lt;br&gt;&lt;br&gt; Specifically for Text Master Data loading: Match the text description length in the Teradata table (possibly with a CAST statement in a view) with the corresponding BW Text field length definition(s). &lt;/p&gt; &lt;p&gt; InfoObject lengths for Text Master Data are as follows: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;th&gt;Description              &lt;th&gt;InfoObject &lt;th&gt;BW length &lt;tr&gt;&lt;td&gt;Text: Short Description  &lt;td&gt;0TXTSH  &lt;td&gt;20 &lt;tr&gt;&lt;td&gt;Text: Medium Description &lt;td&gt;0TXTMD  &lt;td&gt;40 &lt;tr&gt;&lt;td&gt;Text: Long Description  &lt;td&gt;0TXTLG     &lt;td&gt;60 &lt;/table&gt; &lt;p&gt; For Attribute Master Data, a possible format is the Characteristic InfoObject key followed by all assigned Attributes (keys). If you require 'time-dependent' Attributes, additional fields may be required. Examples for Texts and Attributes are included in the step-by-step instructions for Creating a DataSource. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="agjid"&gt;&lt;/a&gt; &lt;h4&gt;3.2.4. Aggregate Join Indices&lt;/h4&gt; &lt;p&gt; The mechanism for creating and deploying Aggregate Join Indices (AJIs) in dimensional schema environments often yields significant performance improvements, and should be considered when better performance is important in the system. &lt;/p&gt; &lt;p&gt; An aggregate join index is a database object created using the CREATE JOIN INDEX statement and specifying one or more columns that are derived from an aggregate expression. This feature is similar to other vendor's implementation of "Materialized Views"; however Teradata AJIs cannot be directly addressed by the end user. The Teradata Optimizer determines if it is a more cost-effective access path. &lt;/p&gt; &lt;p&gt; The primary function of an Aggregate Join Index is to provide the Teradata Optimizer with a performant, cost-effective means for satisfying any query that specifies a frequently made aggregation operation on one or more columns. In other words, Aggregate Join Indexes permit you to define a persistent summary table without violating the normalization of the database schema. This allows a join index to precompute an aggregate value that would otherwise potentially require a table scan and sort operation. &lt;/p&gt; &lt;p&gt; Aggregate join indexes can be especially helpful for queries that roll up values for dimensions other that the primary key dimension, which would otherwise require re-distribution. An aggregate join index can be used to cover aggregate queries that only consider a subset of groups contained in the join index or have more join tables than the join index. In order to allow the aggregate join index to be used in this way, its definition must satisfy the following conditions: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;The grouping clause must include all columns that are specified in the grouping clause of the query&lt;/li&gt;  &lt;li&gt;All columns in the query WHERE clause that join to tables not in the aggregate join index must be part of the join index definition&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Note: Referential Integrity (can be Soft, Hard or Batch) may be required in your implementation to facilitate the Optimizer choosing the AJI, especially if Dimension Tables are included in the Join Index definition. Utilizing Soft RI enables the "Join Elimination" feature which allows a "Broad AJI" to cover queries that reflect a subset of the AJI.&lt;br&gt;&lt;br&gt; Your DDL should contain a REFERENCES clause similar to this:&lt;br&gt; FOREIGN KEY ( SubClassID ) REFERENCES WITH NO CHECK OPTION RDBENCHMARK.SUBCLASS_V ( SubClassID ))&lt;br&gt; Also, be sure to make all relationship columns - both PK and FK columns in every table in the join path defined as NOT NULL. &lt;/p&gt; &lt;p&gt; Sample AJI Syntax (using the SNOWFLAKE Data Model example):&lt;br&gt;&lt;br&gt; CREATE JOIN INDEX rdbenchmark.x_Broad2_attr_ji ,NO FALLBACK ,CHECKSUM = DEFAULT AS&lt;br&gt; SELECT COUNT(*)(FLOAT, NAMED CountStar ),rdbenchmark.item.ItemID ,&lt;br&gt; rdbenchmark.color_v.ColorID ,rdbenchmark.size_v.SizeID ,rdbenchmark.subclass_v.SubClassID ,&lt;br&gt; rdbenchmark.class_v.ClassID ,rdbenchmark.department.deptid ,&lt;br&gt; rdbenchmark.the_week_v.WeekID ,rdbenchmark.the_month_v.MonthID ,&lt;br&gt; rdbenchmark.the_quarter_v.QuarterID ,rdbenchmark.the_year_v.YearID ,&lt;br&gt; rdbenchmark.location.LocID ,rdbenchmark.district_v.DistID ,&lt;br&gt; SUM(rdbenchmark.sales_history.ItemQty )(FLOAT, NAMED ItemQty ),&lt;br&gt; SUM(rdbenchmark.sales_history.ItemRev )(FLOAT, NAMED ItemRev ),&lt;br&gt; SUM(rdbenchmark.sales_history.ItemCost )(FLOAT, NAMED ItemCost )&lt;br&gt;  FROM rdbenchmark.size_v ,rdbenchmark.color_v ,rdbenchmark.sales_history ,&lt;br&gt; rdbenchmark.item ,rdbenchmark.subclass_v ,rdbenchmark.class_v ,&lt;br&gt; rdbenchmark.department ,rdbenchmark.the_day_v ,rdbenchmark.the_week_v ,&lt;br&gt; rdbenchmark.the_month_v ,rdbenchmark.the_quarter_v ,rdbenchmark.the_year_v ,&lt;br&gt; rdbenchmark.location ,rdbenchmark.district_v&lt;br&gt; WHERE ((((((((((((rdbenchmark.sales_history.ItemID =  rdbenchmark.item.ItemID )&lt;br&gt; AND  (rdbenchmark.item.ColorID =  rdbenchmark.color_v.ColorID ))&lt;br&gt; AND  (rdbenchmark.item.SizeID =  rdbenchmark.size_v.SizeID ))&lt;br&gt; AND  (rdbenchmark.item.SubClassID =  rdbenchmark.subclass_v.SubClassID ))&lt;br&gt; AND  (rdbenchmark.subclass_v.ClassID =  rdbenchmark.class_v.ClassID ))&lt;br&gt; AND  (rdbenchmark.class_v.DeptID =  rdbenchmark.department.deptid ))&lt;br&gt; AND  (rdbenchmark.sales_history.DayDT =  rdbenchmark.the_day_v.DayDT ))&lt;br&gt; AND  (rdbenchmark.the_day_v.WeekID =  rdbenchmark.the_week_v.WeekID ))&lt;br&gt; AND  (rdbenchmark.the_week_v.MonthID =  rdbenchmark.the_month_v.MonthID ))&lt;br&gt; AND  (rdbenchmark.the_month_v.QuarterID =  rdbenchmark.the_quarter_v.QuarterID ))&lt;br&gt; AND  (rdbenchmark.the_quarter_v.YearID =  rdbenchmark.the_year_v.YearID ))&lt;br&gt; AND  (rdbenchmark.sales_history.LocID =  rdbenchmark.location.LocID ))&lt;br&gt; AND  (rdbenchmark.location.DistID =  rdbenchmark.district_v.DistID )&lt;br&gt; GROUP BY rdbenchmark.item.ItemID ,rdbenchmark.color_v.ColorID ,&lt;br&gt; rdbenchmark.size_v.SizeID ,rdbenchmark.subclass_v.SubClassID ,&lt;br&gt; rdbenchmark.class_v.ClassID ,rdbenchmark.department.deptid ,&lt;br&gt; rdbenchmark.the_week_v.WeekID ,rdbenchmark.the_month_v.MonthID ,&lt;br&gt; rdbenchmark.the_quarter_v.QuarterID ,rdbenchmark.the_year_v.YearID ,&lt;br&gt; rdbenchmark.location.LocID ,rdbenchmark.district_v.DistID&lt;br&gt; PRIMARY INDEX ( ItemID ,ColorID ,SizeID ,SubClassID ,ClassID ,&lt;br&gt; deptid ,WeekID ,MonthID ,QuarterID ,YearID ,LocID ,DistID );&lt;br&gt;&lt;br&gt; If AJIs are utilized, Teradata V2R5.1 at a minimum is highly recommended (although not required), due to Optimizer improvements and exploitation of the AJI structures.&lt;br&gt;&lt;br&gt; In addition to AJIs, one might want to consider Partitioned Primary Index implementations. For example, use AJI down to week-level aggregation, but partition the fact table on date to resolve date-based queries. This keeps the AJI lean while exploiting other Teradata features.&lt;br&gt;&lt;br&gt; AJIs are not mandatory for this solution, but using AJIs can significantly improve performance. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="crvva"&gt;&lt;/a&gt; &lt;h3&gt;3.3. Java Connector and RFC Provider via Visual Administrator&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stadt2"&gt;&lt;/a&gt; &lt;h4&gt;3.3.1. Start the Administration Tool&lt;/h4&gt; &lt;p&gt; The Administration Tool of the SAP J2EE Engine (Visual Administrator) is a GUI interface that allows the users to adminstrater Java services within a cluster and provides remote monitoring and management of these services. &lt;/p&gt; &lt;p&gt; For the user who will run the administration tool (for example, &amp;lt;SAPSID&amp;gt;adm), make sure that SAPINST_JRE_HOME environment variable contains the path to the Java Development Kit (JDK) of the J2EE Engine. &lt;/p&gt; &lt;p&gt; Note: On UNIX, make sure that the DISPLAY environment variable is set to &amp;lt;host_name&amp;gt;:0.0, where &amp;lt;host_name&amp;gt; is the host on which the administration tool will be displayed. &lt;/p&gt; &lt;p&gt; Enter the following command to start the administration tool: &lt;br&gt; UNIX:&lt;br&gt; /usr/sap/&amp;lt;SAPSID&amp;gt;/&amp;lt;Instance_Name&amp;gt;/j2ee/admin/go &lt;br&gt; Windows:&lt;br&gt; &amp;lt;driver&amp;gt;:\usr\sap\&amp;lt;SAPSID&amp;gt;\&amp;lt;Instance_Name&amp;gt;\j2ee\admin\go.bat &lt;br&gt; &lt;/p&gt; &lt;p&gt; The "J2EE Engine - Administration" screen with the dialog box "Connect to J2EE Enngine" appears. &lt;/p&gt; &lt;p&gt; For SAP J2EE standalone system, choose "Connect" to use the "Default" login and enter the password for the Administrator user of the J2EE engine. &lt;/p&gt; &lt;p&gt; For SAP J2EE add-in system, the "Default" login can not be used. The following steps need to be performed: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Choose "New"&lt;/li&gt;  &lt;li&gt;Enter a display name and choose "Direct Connection to a dispatcher Node"&lt;/li&gt;  &lt;li&gt;Choose "Next"&lt;/li&gt;  &lt;li&gt;Enter the following information:   &lt;ul&gt;    &lt;li&gt;User Name: J2EE_ADMIN&lt;/li&gt;    &lt;li&gt;Host: &amp;lt;host_name&amp;gt; of the J2EE Engine&lt;/li&gt;    &lt;li&gt;Port: 5&amp;lt;Instance_Number_of_SAP_J2EE_Engine&amp;gt;04&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt;  &lt;li&gt;Choose "Save" and connect with the new login account by choosing "Connect"&lt;/li&gt;  &lt;li&gt;Enter password for the J2EE_ADMIN user and choose "Connect"&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dfjcd2"&gt;&lt;/a&gt; &lt;h4&gt;3.3.2. Define the JDBC Connector Driver&lt;/h4&gt; &lt;p&gt; After connecting to the J2EE Engine, expand "Cluster", and then "Server", and then "Services". &lt;br&gt; Scroll down and click "JDBC Connector". On the right pane, click on "Drivers", and then click the paper icon to create a new driver definition. The following procedures are basically the same as previous section for defining JDBC drivers. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-1.jpg" /&gt; &lt;p&gt; In the dialog box, enter the name of the JDBC driver definition, and click "OK". &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-2.jpg" /&gt; &lt;p&gt; Navigate to the directory where you store the JDBC driver jar files, and select a .jar file, and click "OK". &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-3.jpg" /&gt; &lt;p&gt; A confirmation screen will appear asking "Do you want to select other files ?", click "Yes" to add more jar files. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector-4.jpg" /&gt; &lt;p&gt; All the Teradata JDBC Driver jar files are needed for this step. Make sure you go back to add more jar files after each selected jar file. After finishing all the jar files, click "No". Now the new JDBC Connector driver is created with the specified jar files. &lt;/p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;p&gt; Note: When using the TTU 8.2 Teradata JDBC Driver 3.4 and earlier, &lt;code&gt;tdgssjava.jar&lt;/code&gt; must also be included. This file is not used by the TTU 12.0 Teradata JDBC Driver and later. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\tdgssTTU82Note.html --&gt;&lt;/span&gt; &lt;p&gt; Now the JDBC Connector driver has been configured as shown below. &lt;/p&gt; &lt;img border="0" src="images/jdbc-connector.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cfjcn"&gt;&lt;/a&gt; &lt;h4&gt;3.3.3. Configure the Java Connector&lt;/h4&gt; &lt;p&gt; In the Visual Administrator window, expand "Cluster", and then "Server", and then "Services". &lt;br&gt; Scroll down and click "Connector Container".&lt;br&gt; On the right pane, under "Connectors" tree, locate "sap.com/com.sap.ip.bi.sdk.dac.connector.jdbc" and expand it,&lt;br&gt; Click on the default Java Connector "SDK_JDBC" (its name is "BI_JDBC_CONNECTOR") to bring up the Java Connector configuration &amp;#119;indow. &lt;/p&gt; &lt;p&gt; The default Java Connector configuration template includes 5 tabs: "General", "Resource Adapter", "Managed Connection Factory", "Security", and "Drivers". &lt;/p&gt; &lt;img border="0" src="images/java-connector-1.jpg" /&gt; &lt;p&gt; In the "Resource Adapter" tab, click "Add" to add the previously defined JDBC Connector driver to the "Loader References", as shown below. &lt;/p&gt; &lt;img border="0" src="images/java-connector-2.jpg" /&gt; &lt;p&gt; Note: after the string "library:", the Loader Reference name must match the defined JDBC driver name, such as "library:terajdbc". Click OK. &lt;/p&gt; &lt;img border="0" src="images/java-connector-3.jpg" /&gt; &lt;p&gt; Now the new library has been added into the Loader References: &lt;/p&gt; &lt;img border="0" src="images/java-connector-4.jpg" /&gt; &lt;p&gt; Once the JDBC driver has been added in the Loader References, click "Managed Connection Factory" tab. &lt;/p&gt; &lt;p&gt; Then click "Properties" tab to display the Teradata specific configuration properties screen. Highlight each configuration property and enter user-specified value for the property key, and then click "Add" to make the changes. &lt;/p&gt; &lt;p&gt; The following configuration properties are needed for the "Properties" tab: &lt;/p&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;DriverName&lt;br /&gt;&lt;br /&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\teraDriver.html --&gt;Use &lt;code&gt;com.teradata.jdbc.TeraDriver&lt;/code&gt; with the TTU 12.0 Teradata JDBC Driver and later. &lt;br /&gt; Use &lt;code&gt;com.ncr.teradata.TeraDriver&lt;/code&gt; with the TTU 8.2 Teradata JDBC Driver 3.4 and earlier. &lt;!-- End doc\src\pages\..\common\teraDriver.html --&gt;&lt;/span&gt; &lt;/td&gt;&lt;td&gt;com.teradata.jdbc.TeraDriver&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;FixedCatalog&lt;/td&gt;&lt;td&gt;leave blank&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;FixedSchema&lt;/td&gt;&lt;td&gt;&amp;lt;database_schema_name&amp;gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;URL&lt;/td&gt;&lt;td&gt;jdbc:teradata://DataBaseServer/parameter_list&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;UserName&lt;/td&gt;&lt;td&gt;the username to connect to the database&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;the password to connect to the database&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;br /&gt; &lt;img border="0" src="images/java-connector.jpg" /&gt; &lt;p&gt; When all the changes for the configuration properties are completed, click "save" button to save the configurations. &lt;/p&gt; &lt;p&gt; SAP Java Connector system provides a smoke test to validate if these configurations for UD Connect are correct. The smoke test will test this default Java Connector "BI_JDBC_CONNECTOR" to verify the connectivity to the specified Teradata database system in the properties tab by reading all the tables in that database. &lt;/p&gt; &lt;p&gt; To run the smoke test, execute the following URL in the browser (server and port are the placeholders for your SAP system):&lt;br&gt; http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/TJdbc/servlet/TestJdbc &lt;/p&gt; &lt;p&gt; Note: port number is like 5&amp;lt;Instance_Number_of_SAP_J2EE_Engine&amp;gt;00, such as 50000 when Instance_Number_of_SAP_J2EE_Engine is 00. &lt;/p&gt; &lt;p&gt; The following is an example output of the smoke test: &lt;/p&gt; &lt;img border="0" src="images/smoke-test.jpg" /&gt; &lt;p&gt; After the smoke test has successfully validated the default Java Connector configuration, this default Java Connector needs to be cloned based on the following procedures to be accessible during the mapping process in SAP BW system. &lt;/p&gt; &lt;p&gt; To clone the default Java Connector, highlight the "SDK_JDBC" connector in the Connector Container window, click the double paper icon to clone this connector. &lt;/p&gt; &lt;p&gt; The following pop-up screen appears asking the "resource adapter jndi name" for the new Java Connector being cloned for: &lt;/p&gt; &lt;img border="0" src="images/java-connector-clone.jpg" /&gt; &lt;p&gt; Make sure the jndi name starts with "SDK_" in order for it to visible during the mapping process in SAP BW system, such as SDK_BI_JDBC_CONNECTOR. &lt;/p&gt; &lt;p&gt; Now the Java Connectors have been configured as shown below. &lt;/p&gt; &lt;img border="0" src="images/java-connector-sdk.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cfrfc"&gt;&lt;/a&gt; &lt;h4&gt;3.3.4. Configure the RFC Provider in Visual Administrator&lt;/h4&gt; &lt;p&gt; After configuring the Java Connectors in the Visual Administrator, an RFC destination must be registered to enable the communication between SAP BW server and the SAP J2EE engine. &lt;/p&gt; &lt;p&gt; An RFC is a protocol used by SAP that allows communication from SAP BW system to external data sources. The RFC server you define here will be the same RFC destination that will be defined on the BW system side as well. This allows the RFC when started to register itself to the SAP BW 3.5 system. The following describes the procedures for registering the SAP BW system as an RFC destination in the Visual Administrator. &lt;/p&gt; &lt;p&gt; In the Visual Administrator window, expand "Cluster", and then "Server", and then "Services". &lt;br&gt; Scroll down and click "JCo RFC Provider".&lt;br&gt; On the right pane, click "Runtime" tab, and a new RFC destination template is displayed under "Bundles" tab.&lt;br&gt; Enter all the needed parameters for both the "RFC destination" and "Repository" sections. &lt;/p&gt; &lt;img border="0" src="images/rfc-provider-1.jpg" /&gt; &lt;p&gt; The following configuration parameters are needed for the "RFC destination" section: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Program ID: &amp;lt;user-defined JCo Server ID&amp;gt;&lt;/li&gt;  &lt;li&gt;Gateway host: &amp;lt;gateway_host_name&amp;gt;&lt;/li&gt;  &lt;li&gt;Gateway service: &amp;lt;gateway_server_name&amp;gt;&lt;/li&gt;  &lt;li&gt;Number of processes(1..100): &amp;lt;number_of_servers_running_simultaneously&amp;gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Note: by default the Number of processes will be set to 20. This number is configurable to a maximum value of 100. To change this number click on the "Properties" tab in the "JCo RFC Provider" window, and highlight the value field of MaxProcesses and enter the Number of processes you would like to set. Click "Update" to add the changes. Also the MaxConnections can be set to a maximum value of 100. The MaxProcesses and MaxConnections parameters should be configured based on the BW system environment configuration, for example, higher values are needed for complex multiple-provider BW systems. &lt;/p&gt; &lt;img border="0" src="images/rfc-provider-2.jpg" /&gt; &lt;p&gt; The following configuration parameters are needed for the "Repository" section: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Application server host: &amp;lt;application_server_host&amp;gt;&lt;/li&gt;  &lt;li&gt;System number: &amp;lt;sap_system_number&amp;gt;&lt;/li&gt;  &lt;li&gt;Client: &amp;lt;client_number&amp;gt;&lt;/li&gt;  &lt;li&gt;Language: &amp;lt;connection_language_code&amp;gt;&lt;/li&gt;  &lt;li&gt;User: &amp;lt;client_connection_user_name&amp;gt;&lt;/li&gt;  &lt;li&gt;Password: &amp;lt;client_connection_password&amp;gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; If the SAP BW system is a Unicode system, make sure the "Unicode" box is checked.&lt;br&gt;&lt;br&gt; When finishing all these parameters, click on "Set" to add the new RFC destination. &lt;/p&gt; &lt;p&gt; Note: after successful RFC destination configurations, a running man ico is displayed beside the RFC destination: &lt;/p&gt; &lt;img border="0" src="images/rfc-provider-3.jpg" /&gt; &lt;p&gt; The same RFC destination configuration will need to be performed in SAP BW system environment through SAP GUI, This configuration procedures will be discussed in the following BW Administrator section. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="dsvba"&gt;&lt;/a&gt; &lt;h3&gt;3.4. BW DataSource via SAP BW Administrator&lt;/h3&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stgui"&gt;&lt;/a&gt; &lt;h4&gt;3.4.1. Start SAP Front End Logon GUI&lt;/h4&gt; &lt;p&gt; Use the Desktop "Start" button as follows: &lt;/p&gt; &lt;p&gt; Start &amp;rarr; Programs &amp;rarr; SAP Front End &amp;rarr; SAP Logon &lt;/p&gt; &lt;p&gt; The "SAP Logon 640" window appears. Then click "New Item" to create a new entry for the SAP system. &lt;/p&gt; &lt;img border="0" src="images/sap-logon-1.jpg" /&gt; &lt;p&gt; The following information is needed for creating the new entry: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Description: the description name for the SAP system entry&lt;/li&gt;  &lt;li&gt;Application Server: &amp;lt;SAP_server_host_name&amp;gt;&lt;/li&gt;  &lt;li&gt;System ID: &amp;lt;SAP_system_id&amp;gt;&lt;/li&gt;  &lt;li&gt;System Number: &amp;lt;SAP_system_instance_number&amp;gt;&lt;/li&gt;  &lt;li&gt;SAP System: R/3&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/sap-logon-2.jpg" /&gt; &lt;p&gt; After the needed parameters are saved, click "Log on". On the Logon Window, the client number, user, and password are required to log on to the system. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cfrfc2"&gt;&lt;/a&gt; &lt;h4&gt;3.4.2. Configure the RFC Provider in SAP GUI&lt;/h4&gt; &lt;p&gt; The RFC destination configurations have been defined in Visual Administrator in previous section above. These RFC destinations are also required to be configured in SAP GUI so the communication between SAP BW system and J2EE engine can be enabled. &lt;/p&gt; &lt;p&gt; In SAP Logon GUI, use "RFC Destinations (Display/Maintain)" (transaction SM59) to enter the "Display and Maintain RFC Destinations" screen. Click "Create" to create a new RFC destination. &lt;/p&gt; &lt;img border="0" src="images/bw-rfc-1.jpg" /&gt; &lt;p&gt; Enter RFC Destination name (for consistency it is recommended that the RFC destination name should be the same as the Program ID)&lt;br&gt; Enter Connection type as 'T'&lt;br&gt; Select radio button "Registered Server Program"&lt;br&gt; Enter Program ID name (this name is the RFC destination name defined in Visual Administrator)&lt;br&gt; Enter Gateway host and Server, when finished click Save &lt;/p&gt; &lt;img border="0" src="images/bw-rfc-2.jpg" /&gt; &lt;p&gt; There are 2 test buttons that can be used to verify the RFC configurations. Click "Test Connection" will verify the communication between SAP BW system and J2EE engine, and "Unicode Test" button is used to verify if the SAP system is a Unicode system. The following screen shot displays a successful RFC connection. &lt;/p&gt; &lt;img border="0" src="images/bw-rfc-3.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="stbaw"&gt;&lt;/a&gt; &lt;h4&gt;3.4.3. Start BW Administrator Workbench&lt;/h4&gt; &lt;p&gt; All the following procedures for creating BW DataSources, InfoObjects, and InfoCubes will be performed in SAP BW Administrator Workbench. &lt;/p&gt; &lt;p&gt; In the SAP Logon GUI, use "BW Adminstrator Workbench" (transaction RSA1) to start BW Administrator Workbench. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-1.jpg" /&gt; &lt;p&gt; In BW Administrator Workbench, the following processes will be done for SAP BW UD Connect system configurations:&lt;br&gt;&lt;br&gt; 1. Creation of Generis DataSource&lt;br&gt; The following section illustrates the detailed procedures for the generic process of creating the DataSource. This process is similar regardless of what type of data target is desired (InfoCube, Text or Attribute Master Data), however the selection of InfoObjects to include in the DataSource will vary based on the intended data target.&lt;br&gt;&lt;br&gt; 2. Connecting DataSource to Data Target through InfoSource&lt;br&gt; Once the DataSource is successfully created, the procedures for connecting the Data Source to the target will vary based if the target object is Master Data or a Remote InfoCube. These procedures will be discussed in the section below. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="crgds"&gt;&lt;/a&gt; &lt;h4&gt;3.4.4. Create BW Generic DataSource&lt;/h4&gt; &lt;p&gt; SAP BW system can access data from Teradata database systems through UD Connect integration system. DataSources are responsible for extracting and staging data from source systems like Teradata database system. The DataSources subdivide the data that is provided by a source system into self-contained business areas. &lt;/p&gt; &lt;p&gt; There are 2 scenarios covering the data acess from BW system to Teradata database system: Master data load (Attributes or Text only with current UD Connect integration system for Teradata system) or Remote InfoCube. &lt;/p&gt; &lt;p&gt; Master data is data that remains unchanged over a long period of time. Master data contains information that is always needed in the same way. Characteristics can bear master data in BW (attributes or text only). &lt;/p&gt; &lt;p&gt; Remote InfoCube can be used as an InfoProvider in BEx Reporting. You can access the characteristics and key figures defined for an InfoCube in the Query Definition in the BEx Web or in the BEx Analyzer. &lt;/p&gt; &lt;p&gt; The following prerequisites are required for creating Generic DataSources: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Teradata data modeling implementation described in earlier sections&lt;/li&gt;  &lt;li&gt;Complete configurations for Connector Container and JCo RFC Provider in Visual Administrator   &lt;ul&gt;    &lt;li&gt;RFC Destination: the RFC destination defined in Visual Adminstrator&lt;/li&gt;    &lt;li&gt;UD Connect Java Source: the BI Java Connector defined in Visual Administrator&lt;/li&gt;    &lt;li&gt;UD Connect Source Object: the relevant Teradata database table or view&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; The following sections describe the procedures for creating and activating BW DataSource. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="priob"&gt;&lt;/a&gt; &lt;h4&gt;3.4.4.1. Prepare Required InfoObjects&lt;/h4&gt; &lt;p&gt; In the BW Administrator Workbench, highlight "InfoObjects" on the left pane under Modeling section, on the right pane, right click on the InfoObjects column and select "Create InfoArea..." to create an InfoArea for the target InfoObjects. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-2.jpg" /&gt; &lt;p&gt; Highlight the InfoArea, and right click on it to select "Create InfoObject Catalog..." to create an InfoObject Catalog to hold the target InfoObjects. After the InfoObject Catalog is created, right click on it to create all required InfoObjects for the intended BW Generic DataSource. &lt;/p&gt; &lt;p&gt; The following configuration parameters are needed for creating a Characteristic InfoObject: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Name: InfoObject Name&lt;/li&gt;  &lt;li&gt;Long description: the long description for the InfoObject&lt;/li&gt;  &lt;li&gt;Short description: the short description for the InfoObject&lt;/li&gt;  &lt;li&gt;General Tab   &lt;ul&gt;    &lt;li&gt;Data Type: NUMC - Character string&lt;/li&gt;    &lt;li&gt;Length: length of the data&lt;/li&gt;    &lt;li&gt;Convers. Rout.: leave blank&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt;  &lt;li&gt;Master data/texts Tab   &lt;ul&gt;    &lt;li&gt;Short text exists: checked if there existing short-length text data&lt;/li&gt;    &lt;li&gt;Medium text exists: checked if there existing medium-length text data&lt;/li&gt;    &lt;li&gt;Texts language dependent: unchecked&lt;/li&gt;    &lt;li&gt;Character is data target/InfoProvider: checked&lt;/li&gt;    &lt;li&gt;InfoArea: the InfoArea name&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/bw-adm-3.jpg" /&gt; &lt;p&gt; The Key Figure InfoObjects are used in the InfoCube implementation. To create a Key Figure InfoObject, the following configuration parameters are required: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Name: InfoObject Name&lt;/li&gt;  &lt;li&gt;Long description: the long description for the InfoObject&lt;/li&gt;  &lt;li&gt;Short description: the short description for the InfoObject&lt;/li&gt;  &lt;li&gt;Type/unit Tab   &lt;ul&gt;    &lt;li&gt;Type/data Type: the data type for the Key Figure&lt;/li&gt;   &lt;/ul&gt;&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/bw-adm-4.jpg" /&gt; &lt;p&gt; After all the required configuration parameters are completed, save and activate the InfoObject. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="ccisr"&gt;&lt;/a&gt; &lt;h4&gt;3.4.4.2. Create and Configure InfoSource&lt;/h4&gt; &lt;p&gt; In the BW Administrator Workbench, highlight "InfoSources" on the left pane under Modeling section, on the right pane, right click on the InfoSources column and select "Create application component..." to create an application for the target InfoSources and DataSources. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-5.jpg" /&gt; &lt;p&gt; Highlight the application, and right click on it to select "Create InfoSource..." to create an InfoSource. &lt;/p&gt; &lt;p&gt; The "Create InfoSource" window appears. The following parameters are needed for this step: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Flexible Update in any Data Target (Except Hierarchies: checked&lt;/li&gt;  &lt;li&gt;InfoSource: the InfoSource name&lt;/li&gt;  &lt;li&gt;Long description: the long description for the InfoSource&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/bw-adm-6.jpg" /&gt; &lt;p&gt; Confirm to create the InfoSource object. &lt;/p&gt; &lt;p&gt; From InfoSources Window, right click on the newly created InfoSource name and select Change &lt;/p&gt; &lt;p&gt; In the InfoSource Change Screen, add the required InfoObjects to the "Communication Structure". For example, for Text Master Data Load InfoSource, a Characteristic InfoObject and some Text InfoObjects (such as Short, Medium or Long Text) are needed to create a simple Text Master Data Load InfoSource; for Attribute Master Data Load InfoSource, a primary Characteristic InfoObject and some Attribute InfoObjects are used to create an Attribute Master Dara Load InfoSource; for a Remote InfoCube, all of the Characteristic InfoObjects (key fields) in the Dimensions and KeyFigure InfoObjects plus some Calendar InfoObjects can be used for constructing the InfoCube targets. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-7.jpg" /&gt; &lt;p&gt; After all these configurations are done, save and activate the InfoSource object. Select yes on the dialog window for the question: "Do you want to activate all independent transfer programs ?". &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cabds"&gt;&lt;/a&gt; &lt;h4&gt;3.4.4.3. Create and Activate BW DataSource&lt;/h4&gt; &lt;p&gt; When the above InfoSource object has been created, the BW DataSource can be created through the InfoSource. The following describes the procedures for creating and activating the BW DataSource. &lt;/p&gt; &lt;p&gt; In the InfoSource change screen, select the top menu "Extras" and then click "Create BW DataSource with UD Connect". &lt;/p&gt; &lt;p&gt; The "Assigning UD Connect Source Object to BW DS and Extr.Gen." window appears. The following parameters are needed for this step: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;RFC Destination: the RFC Destination to the J2EE Java Service&lt;/li&gt;  &lt;li&gt;UD Connect Source: the BI Java Connector defined in J2EE Container COnnector Service&lt;/li&gt;  &lt;li&gt;UD Connect Source Obj.: the relevant Teradata database table or view&lt;/li&gt; &lt;/ul&gt; &lt;img border="0" src="images/bw-adm-8.jpg" /&gt; &lt;p&gt; Click "Extract Source Object Elements" to populate the Source Object Elements. BW will attempt to heuristically map the objects. If the field mapping is not done by the system, highlight each object (one at a time) on the left hand side of the BW DataSource Fields and the Source Object Elements and then use the left arrow to transfer the mapping. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-9.jpg" /&gt; &lt;p&gt; Once the field mapping is completed, select the "Generate Datasource (for UD Connect)" button. Select 'Yes' to the pop-up dialog windows if the proposals are acceptable. &lt;/p&gt; &lt;p&gt; You will be returned to the InfoSource (Communication Structure / Transfer Structure) screen. Click "Transfer_Structure/Transfer_Rules" to expand the section. Choose "IDoc" for "Transfer Method". &lt;/p&gt; &lt;img border="0" src="images/bw-adm-10.jpg" /&gt; &lt;p&gt; Save and activate the InfoSource object. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cdsdt"&gt;&lt;/a&gt; &lt;h4&gt;3.4.5. Connect DataSource to Data Target for Characteristic InfoObject&lt;/h4&gt; &lt;p&gt; In the BW Administrator Workbench, highlight "InfoProvider" on the left pane under Modeling section, on the right pane, locate the InfoArea name that was created in the previous section. Right click on the InfoArea name and select "Insert Characteristic as a Data Target". &lt;/p&gt; &lt;p&gt; Enter the InfoObject name and click OK. If the InfoObject does not appear in the drop down, just type it in manually. The following screen shows the result after the above operation. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-11.jpg" /&gt; &lt;p&gt; When you exit and return to the InfoProvide screen, the screen will be updated as follows: &lt;/p&gt; &lt;img border="0" src="images/bw-adm-12.jpg" /&gt; &lt;p&gt; Right click on the Characteristic Data Target and select "Create Update Rules". Select the correct InfoSource name defined previously in the above section, and press "Enter". Save and activate the Update Rules. The update rule appears under the Data Target name. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-13.jpg" /&gt; &lt;p&gt; After the Update Rules are created, the procedures for creating InfoPackages will be performed. The following discusses the steps for creating InfoPackages. &lt;/p&gt; &lt;p&gt; In the BW Administrator Workbench, highlight "InfoSources" on the left pane under Modeling section, on the right pane, locate the DataSource name under the corresponding application and InfoSource names that have been defined in the above sections. Right click on the DataSource name and select "Create InfPackage". &lt;/p&gt; &lt;img border="0" src="images/bw-adm-14.jpg" /&gt; &lt;p&gt; Enter the InfoPackage description and click Save button to save the definition. The Scheduler (Maintain InfoPackage) screen appears. &lt;/p&gt; &lt;p&gt; The Scheduler (Maintain InfoPackage) screen includes 5 tabs: "Data Selection", "Processing", "Data Targets", "Update", and "Schedule". &lt;/p&gt; &lt;p&gt; In the "Data Selection" tab, highlight the InfoObject rows and click "Check". &lt;/p&gt; &lt;img border="0" src="images/bw-adm-15.jpg" /&gt; &lt;p&gt; In the "Processing" tab, configure the Update Data selection (use the default is recommended). &lt;/p&gt; &lt;img border="0" src="images/bw-adm-16.jpg" /&gt; &lt;p&gt; In the "Data Targets" tab, choose "Select Data Targets" and check the checkbox for the Data Target. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-17.jpg" /&gt; &lt;p&gt; Click Save button to save the changes. In the "Schedule" tab, choose "Start Data Load Immediately" and click "Start" to run immediately, or choose "Start Later in Background" to schedule for future extraction. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-18.jpg" /&gt; &lt;p&gt; Click Monitor icon to monitor the data load. The following screen shows a successful data load of the Text Master Data. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-19.jpg" /&gt; &lt;p&gt; The following describes the way to view the loaded Master Data. In the BW Administrator Workbench, highlight "InfoObjects" on the left pane under Modeling section, on the right pane, locate the target InfoObject to enter the InfoObject screen. Click on the "Master data/texts" tab, double click on the Text table name in the box. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-20.jpg" /&gt; &lt;p&gt; The Display Table screen appears. Click the menu button "Contents" to bring up the "Data Browser" window for the table, and then click the menu button "Execute" to display the data. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-21.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="cdsic"&gt;&lt;/a&gt; &lt;h4&gt;3.4.6. Connect DataSource to Remote InfoCube&lt;/h4&gt; &lt;p&gt; In the BW Administrator Workbench, highlight "InfoProvider" on the left pane under Modeling section, on the right pane, locate the InfoArea name that was created in the previous section. Right click on the InfoArea name and select "Create InfoCube...". &lt;/p&gt; &lt;p&gt; Enter the technical name and description for the InfoCube, and select the corresponding InfoSource name under InfoCube Type section. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-22.jpg" /&gt; &lt;p&gt; Click "paper" icon to create the cube. &lt;/p&gt; &lt;p&gt; The Edit InfoCube screen includes 3 tabs: "Characteristics", "Time characteristics", and "Key figures". &lt;/p&gt; &lt;img border="0" src="images/bw-adm-23.jpg" /&gt; &lt;p&gt; In the "Characteristics" tab, select "Dimensions..." tab to assign characteristics to dimensions. On the "Define Dimensions" screen, use the "Define" tab to enter descriptions for the dimensions. Use the "Assign" tab to assign the characteristics to dimensions, Click green mark when done. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-24.jpg" /&gt; &lt;p&gt; Save and activate the InfoCube object. &lt;/p&gt; &lt;p&gt; The next step is to assign a source system to the InfoCube. On the "InfoProvider" screen, right click the Remote InfoCube and select "Assign Source Systems". &lt;/p&gt; &lt;p&gt; Highlight the needed source system and click save button. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-25.jpg" /&gt; &lt;p&gt; Now the source system has been added to the Remote InfoCube. &lt;/p&gt; &lt;img border="0" src="images/bw-adm-26.jpg" /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="perpr"&gt;&lt;/a&gt; &lt;h3&gt;3.5. Performance Parameters&lt;/h3&gt; &lt;p&gt; When defining and configuring the Java Connectors through Connector Container service in the Visual Administrator, some configurations with the connections can be used to enhance performance and avoid run-time issues. &lt;/p&gt; &lt;p&gt; The Connection Definition properties for the Java Connectors can be configured through the "Connection Definition" tab under "Managed Connection Factory" tab in the "Connector Container" service in Visual Administrator. &lt;/p&gt; &lt;p&gt; The following parameters are related to the Connection run-time performance: &lt;/p&gt; &lt;p&gt; &lt;i&gt;Expiration&lt;/i&gt; - specify if the connections in the pool will be expired and removed. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Connection Lifetime&lt;/i&gt; - specify how many seconds a connection may stay in pool before it is closed. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Cleanup Thread&lt;/i&gt; - schedule a thread that periodically cleans up unused connection objects at a regular interval that you set in seconds. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Connections&lt;/i&gt; - too small of a value here can cause users of the pool to waste time waiting for someone to release a connection. &lt;/p&gt; &lt;p&gt; &lt;i&gt;Maximum Time to Wait for Connection&lt;/i&gt; - generally use the default value (120). &lt;/p&gt; &lt;img border="0" src="images/udc-perform.jpg" /&gt; &lt;p&gt; Generally the Java applications will close the connections and return the connections back to the connection pool after finishing all the queries. However, some applications and clients, such as Business Explorer, don't close the connections they have acquired and/or other resources such as ResultSets when returning the connections to connection pool, then sometimes issues will occur, such as exceptions like "[Teradata DBMS]: Response limit exceeded". This exception when more than 15 time queries are executed within the ResultSet in the connection, but the ResultSet is not closed when returning to connection pool. These connections that are not closed and/or have unreleased resources like ResulSets should be regularly cleaned up, and the three parameters "Expiration", "Connection Lifetime", and "Cleanup Thread" can be configured for this purpose. &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="troub"&gt;&lt;/a&gt; &lt;h2&gt;4. Troubleshooting&lt;/h2&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="jdbcd"&gt;&lt;/a&gt; &lt;h3&gt;4.1. JDBC Driver Debugging&lt;/h3&gt; &lt;p&gt; Teradata JDBC driver can output the necessary detailed info and error messages for application debugging. To enable the debugging message availability, some configurations with Visual Administrator are required, which are described below. &lt;/p&gt; &lt;p&gt; In Visual Administrator, expand "Cluster", and then "Server", and then "Services". &lt;br&gt; Scroll down and click "Log Configurator". On the right pane, click on "Location" tab, and then expand System item. Click on "out" line to configure the System.out configurations. Use the drop-down menu to select "Debug". Click on Save and select "Apply to current node only". &lt;/p&gt; &lt;img border="0" src="images/log-configurator.jpg" /&gt; &lt;p&gt; To enable the JDBC debugging with Data Source definition with "JDBC Connector" service, follow the descriptions below. &lt;/p&gt; &lt;p&gt; On the right pane of the "JDBC Connector" section in the Visual Administrator, click on "DataSources", Expand the target Data Source definition and open the "Main" tab. The Database URL property needs to be added with the additional parameter "LOG=debug". And then save the changes. &lt;/p&gt; &lt;img border="0" src="images/url-param-logging-1.jpg" /&gt; &lt;p&gt; The following procedures illustrate the approach to enable the JDBC debugging with Java Connector configurations with "Connector Container" service. &lt;/p&gt; &lt;p&gt; On the right pane of "Connector Container" section, locate "sap.com/com.sap.ip.bi.sdk.dac.connector.jdbc" and expand it to locate the target Java Connector. Open the "Managed Connection Factory" tab and click the "Properties" tab. Highlight the URL key to add the additional parameter "LOG=debug" in the URL string value. Click on the Save button to save the changes. &lt;/p&gt; &lt;img border="0" src="images/url-param-logging-2.jpg" /&gt; &lt;p&gt; The debugging output messages will be stored in the following locations after the configurations are completed: &lt;/p&gt; &lt;p&gt; UNIX:&lt;br&gt; /usr/sap/&amp;lt;SAPSID&amp;gt;/&amp;lt;Instance_Name&amp;gt;/j2ee/cluster/server0/log &lt;br&gt; Windows: &amp;lt;driver&amp;gt;:\usr\sap\&amp;lt;SAPSID&amp;gt;\&amp;lt;Instance_Name&amp;gt;\j2ee\cluster\server0\log &lt;br&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="sqltr"&gt;&lt;/a&gt; &lt;h3&gt;4.2. SQL Trace&lt;/h3&gt; &lt;p&gt; SQL tracing message can be captured on Teradata via standard Query Logging facilities (DBQL):&lt;br&gt;&lt;br&gt; Rudimentary SQL logging syntax:&lt;br&gt; BEGIN QUERY LOGGING WITH SQL LIMIT SQLTEXT=10000 ON USERNAME;&lt;br&gt;&lt;br&gt; When query capture is complete, end query logging with:&lt;br&gt; END QUERY LOGGING WITH SQL ON USERNAME;&lt;br&gt;&lt;br&gt; Display the captured SQL with the following:&lt;br&gt; DATABASE DBC;&lt;br&gt; SEL USERID, STARTTIME,LOGONDATETIME, DATABASENAMEI, QUERYTEXT FROM QRYLOG Q, DBASE D&lt;br&gt; WHERE Q.USERID=D.DATABASEID&lt;br&gt; AND DATABASENAMEI='USERNAME'&lt;br&gt; ORDER BY STARTTIME DESC , LOGONDATETIME DESC&lt;br&gt;&lt;br&gt; Cleanup  the captured SQL logs with:&lt;br&gt; DEL FROM DBQLOGTBL WHERE &lt;br&gt; DBC.QRYLOG.USERID=DBC.DBASE.DATABASEID&lt;br&gt; AND DBASE.DATABASENAMEI='USERNAME' &lt;br&gt;&lt;br&gt; &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="bwstr"&gt;&lt;/a&gt; &lt;h3&gt;4.3. BW System Trace&lt;/h3&gt; &lt;p&gt; SAP BW system outputs an SDK_BI_Trace.log file that displays the SQL that was generated base on the query created by the end user. The log file also shows the database table name and all columns that were selected as well as the total time it took for query processing. &lt;/p&gt; &lt;p&gt; The BW system tracing output messages are located in the following locations: &lt;/p&gt; &lt;p&gt; UNIX:&lt;br&gt; /usr/sap/&amp;lt;SAPSID&amp;gt;/&amp;lt;Instance_Name&amp;gt;/j2ee/cluster/server0/BI_SDK_Trace.log &lt;br&gt; Windows:&lt;br&gt; &amp;lt;driver&amp;gt;:\usr\sap\&amp;lt;SAPSID&amp;gt;\&amp;lt;Instance_Name&amp;gt;\j2ee\cluster\server0\BI_SDK_Trace.log &lt;br&gt; &lt;/p&gt; &lt;p&gt; Note: Please Refer to SAP BI UD Connect: Performance Issues guide for more information about the trace that is retrieved from this log file. The guide can be found at: http://help.sap.com/saphelp_nw04/helpdata/en/6c/7ffb3f6c78ee28e10000000a1550b0/frameset.htm Under Information Integration click on Business Intelligence (BI). &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="ssamp"&gt;&lt;/a&gt; &lt;h2&gt;Appendix A:  SAP Web Application Server Code Samples&lt;/h2&gt; &lt;p&gt; Note: The creation of an SAP Web Application Server 6.40 datasource "ds1" creates a JNDI name of "jdbc/ds1" for the datasource. The name with the "jdbc" prefix must be used when accessing the following servlet. &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool with username and password passed as parameters. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String user = req.getParameter("user");&lt;br /&gt;     String password = req.getParameter("password");&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       out.println("User: " + user + "");&lt;br /&gt;       out.println("Password: " + password);&lt;br /&gt; &lt;br /&gt;       Connection con = ds.getConnection(user, password);&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt; &lt;p&gt; Sample code to access a previously created Connection Pool using Data Source default username and password. &lt;/p&gt; &lt;code&gt; import java.sql.*;&lt;br /&gt; import javax.sql.*;&lt;br /&gt; import java.io.*;&lt;br /&gt; import javax.naming.*;&lt;br /&gt; import javax.servlet.*;&lt;br /&gt; import javax.servlet.http.*;&lt;br /&gt; &lt;br /&gt; public class SampleJdbcServlet extends HttpServlet&lt;br /&gt; {&lt;br /&gt;   public void doGet(HttpServletRequest req,HttpServletResponse res)&lt;br /&gt;     throws ServletException, IOException&lt;br /&gt;   {&lt;br /&gt;     String datasource = req.getParameter("datasource");&lt;br /&gt;     res.setContentType("text/html");&lt;br /&gt;     PrintWriter out = res.getWriter();&lt;br /&gt;     out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;");&lt;br /&gt;     try&lt;br /&gt;     {&lt;br /&gt;       Context ctx = new InitialContext();&lt;br /&gt; &lt;br /&gt;       out.println("Looking up datasource " + datasource);&lt;br /&gt;       DataSource ds = (DataSource) ctx.lookup(datasource);&lt;br /&gt; &lt;br /&gt;       out.println("Establishing connection...");&lt;br /&gt;       &lt;br /&gt;       Connection con = ds.getConnection();&lt;br /&gt;       out.println("Connection obtained is: " + con);&lt;br /&gt; &lt;br /&gt;       con.close();&lt;br /&gt;       out.println("Connection.isClosed returns: " + con.isClosed());&lt;br /&gt;     }&lt;br /&gt;     catch (SQLException ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** SQLException caught ***");&lt;br /&gt;       while (ex != null)&lt;br /&gt;       {&lt;br /&gt;         out.println("Message: " + ex.getMessage ());&lt;br /&gt;         out.println("SQLState: " + ex.getSQLState ());&lt;br /&gt;         out.println("ErrorCode: " + ex.getErrorCode ());&lt;br /&gt;         ex.printStackTrace (out);&lt;br /&gt;         ex = ex.getNextException ();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     catch (java.lang.Exception ex)&lt;br /&gt;     {&lt;br /&gt;       out.println("*** Exception caught ***");&lt;br /&gt;       ex.printStackTrace (out);&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;     out.println("SampleJdbcServlet finished.");&lt;br /&gt;     out.println("&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");&lt;br /&gt;     out.close();&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;/code&gt; &lt;!-- End doc\src\pages\..\common\sampleJdbcServlet_noUserPass.html --&gt;&lt;/div&gt;</description><pubDate>Wed, 17 Sep 2008 16:37:14 GMT</pubDate><dc:creator>tnolan</dc:creator></item><item><title>Tomcat Application Server "How-To" Guide</title><link>http://www.teradata.com/DownloadCenter/Topic9364-98-1.aspx</link><description>&lt;b&gt; How to use the Teradata JDBC Driver with Apache Tomcat &lt;/b&gt;&lt;/p&gt; &lt;p&gt; Date: September 16, 2008 &lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;p&gt; &lt;span&gt;&lt;!-- Begin doc\src\pages\..\common\abstract.html --&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; The Teradata JDBC Driver Connection Pooling facility can greatly improve application performance. The steps used to enable it for the Teradata JDBC Driver will vary with the application server being used. This paper outlines the steps and parameters required to use the Teradata JDBC Driver with &lt;!-- End doc\src\pages\..\common\abstract.html --&gt;&lt;/span&gt; Tomcat. &lt;/p&gt; &lt;hr /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\copyright.html --&gt;&lt;p&gt; TERADATA CONFIDENTIAL &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;p&gt; Copyright &amp;copy; 2005-2009 by Teradata Corporation. &lt;/p&gt; &lt;p&gt; All Rights Reserved. &lt;/p&gt; &lt;p&gt; This document, which includes the information contained herein,: (i) is the exclusive property of Teradata Corporation; (ii) constitutes Teradata confidential information; (iii) may not be disclosed by you to third parties; (iv) may only be used by you for the exclusive purpose of facilitating your internal Teradata-authorized use of the Teradata product(s) described in this document to the extent that you have separately acquired a written license from Teradata for such product(s); and (v) is provided to you solely on an "as-is" basis. In no case will you cause this document or its contents to be disseminated to any third party, reproduced or copied by any means (in whole or in part) without Teradata's prior written consent.  Any copy of this document, or portion thereof, must include this notice, and all other restrictive legends appearing in this &amp;#100;ocument. Note that any product, process or technology described in this document may be the subject of other intellectual property rights reserved by Teradata and are not licensed hereunder. No license rights will be implied. Use, duplication or disclosure by the United States government is subject to the restrictions set forth in DFARS 252.227-7013  (c) (1) (ii) and FAR 52.227-19. Other brand and product names used herein are for identification purposes only and may be trademarks of their respective companies. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\copyright.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;h2&gt;Table of Contents&lt;/h2&gt; &lt;h3&gt;&lt;a href="#intro"&gt;1. Introduction&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      1.1. &lt;a href="#assum"&gt;Assumptions&lt;/a&gt;&lt;br /&gt;      1.2. &lt;a href="#purpo"&gt;Purpose and Organization&lt;/a&gt;&lt;br /&gt;      1.3. &lt;a href="#versi"&gt;Version Information&lt;/a&gt;&lt;br /&gt;      1.4. &lt;a href="#platf"&gt;Supported Platform Matrix&lt;/a&gt;&lt;br /&gt;      1.5. &lt;a href="#tdgssShare"&gt;C/C++ and Java Application Sharing of TeraGSS Security Configuration&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#tomcat1"&gt;2. Tomcat 5.5 and Tomcat 6.0 &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      2.1. &lt;a href="#connp"&gt;Tomcat Data Source Definition&lt;/a&gt;&lt;br/&gt;        2.1.1. &lt;a href="#prereq"&gt;Prerequisites&lt;/a&gt;&lt;br/&gt;        2.1.2. &lt;a href="#contextconfig"&gt;Context Configuration &lt;/a&gt;&lt;br/&gt;        2.1.3. &lt;a href="#dsparam"&gt;Description of &amp;lt;Resource&amp;gt; element attributes &lt;/a&gt;&lt;br /&gt;      2.2. &lt;a href="#access"&gt;Accessing the Data Source from a Java Servlet&lt;/a&gt;&lt;br/&gt; &lt;h3&gt;&lt;a href="#troub"&gt;3. Troubleshooting&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;      3.1. &lt;a href="#sesdw"&gt;Session Defaults Warning&lt;/a&gt;&lt;br /&gt; &lt;h3&gt;&lt;a href="#csamp"&gt;Appendix A: Tomcat Code Samples&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;hr /&gt; &lt;a id="intro"&gt;&lt;/a&gt; &lt;h2&gt;1. Introduction&lt;/h2&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\introduction.html --&gt;&lt;p&gt; The Teradata JDBC Driver provides an open interface to the Teradata Database. When the Teradata JDBC Driver is used in an application server, significant performance gains can be realized by using connection pools instead of non-pooled connections. This paper outlines the specific steps and settings required to enable connection pooling for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\introduction.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="assum"&gt;&lt;/a&gt; &lt;h3&gt;1.1. Assumptions&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\assumptions.html --&gt;&lt;p&gt; This paper assumes that the reader is already familiar with the application server being used and has copied the Teradata JDBC Driver product to a system containing this application server. You should also know how to start the appropriate administrative console and have the required permissions that allow you to change operating parameters. &lt;/p&gt; &lt;p&gt; Though an understanding of the Java programming language shouldn't be necessary for learning how to set up Connection Pools, it is necessary to understand how to use them after they have been set up. &lt;/p&gt; &lt;p&gt; Please note that the screen shots used in the examples were taken on a Microsoft Windows system. The actual interface that you see on different platforms supported by the application servers may vary. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\assumptions.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="purpo"&gt;&lt;/a&gt; &lt;h3&gt;1.2. Purpose and Organization&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;p&gt; The purpose of this paper is to provide all of the details necessary to set up and use Connection Pools for the Teradata JDBC Driver with a supported application server. &lt;/p&gt; &lt;!-- End doc\src\pages\..\common\purposeOrganization.html --&gt;&lt;/div&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="versi"&gt;&lt;/a&gt; &lt;h3&gt;1.3. Version Information&lt;/h3&gt; &lt;p&gt; Tomcat versions used are: &lt;/p&gt; &lt;ul&gt;  &lt;li&gt;Tomcat 5.5&lt;/li&gt;  &lt;li&gt;Tomcat 6.0&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;a id="platf"&gt;&lt;/a&gt; &lt;h3&gt;1.4. Supported Platform Matrix&lt;/h3&gt; &lt;div&gt;&lt;!-- Begin doc\src\pages\..\common\platformMatrix.html --&gt;&lt;p&gt; Java Virtual Machine (JVM) and Application Server support by TTU/JDBC Driver release &lt;/p&gt; &lt;p&gt; u=unsupported / s=supported &lt;/p&gt; &lt;!-- This file should not be duplicated for each release, just modified. --&gt; &lt;table class="BlackText" border="1"&gt; &lt;tr&gt;&lt;td&gt;&lt;/td&gt;  &lt;td&gt;TTU 7.1&lt;br /&gt;JDBC 3.1&lt;/td&gt;  &lt;td&gt;TTU 8.0&lt;br /&gt;JDBC 3.2&lt;/td&gt;  &lt;td&gt;TTU 8.1&lt;br /&gt;JDBC 3.3&lt;/td&gt;  &lt;td&gt;TTU 8.2&lt;br /&gt;JDBC 3.4&lt;/td&gt;  &lt;td&gt;TTU 12.0&lt;br /&gt;JDBC 12.0&lt;/td&gt;  &lt;td&gt;TTU 13.0&lt;br /&gt;JDBC 13.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.3.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 1.4.x&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 5.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;JVM 6.0&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td&gt;WebSphere 5.0 with IBM JVM 1.3.1&lt;/td&gt;  &lt;td&gt;s&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/td&gt;  &lt;td&gt;u&lt;/t