Can someone direct me to documentation on how to use Teradata Wallet? Specifically, is it just for v14 (or can it be used in v13) and an example of how to incorporate it into a BTEQ script.
Teradata Wallet is supported with Teradata Database versions 13.10, 13.0, 12.0, and V2R6.2.
To use an item from your wallet when connecting to a Teradata Database, you can supply $tdwallet(put_item_name_here) in place of your database password.
For example, if you add an item to your wallet as follows:
$ tdwallet add password_proddev
Enter desired value for the string named "password_proddev":
String named "password_proddev" added.
You could then use a BTEQ script like:
$ cat deptquery.txt
.SET SEPARATOR ' | '
SELECT * FROM department;
$ bteq < deptquery.txt
BTEQ 14.00.00.00 Mon Oct 12 15:55:38 2011
*** Logon successfully completed.
This technique works with software that uses Teradata CLIv2 to connect to the Teradata Database such as:
- Basic Teradata Query Utility (BTEQ)
- Teradata FastLoad
- Teradata MultiLoad
- Teradata Parallel Data Pump (TPump)
- Teradata FastExport
- Teradata ARC
- Teradata Preprocessor2 (PP2)
- Teradata Parallel Transporter (TPT)
You must be using a TTU 14.0 version of Teradata CLIv2 (preferably the 14.00.00.02 version of Teradata CLIv2, or later) for this to work.
Hope it helps!
A clarification: Teradata Wallet is included only in the 14.0 version of the Teradata Tools and Utilities (TTU).
It's easy enough to get tdwallet working with bteq, but does anyone have instructions for how to reference a wallet string from within a TPT script. I have tried several variations on the syntax used for bteq without success.
Specifically, the TPT script in the DDL operator, for example, requires a value for UserPassword:
DEFINE OPERATOR DDL_OPERATOR
VARCHAR PrivateLogName = 'ddl_log',
VARCHAR TdpId = @jobvar_tdpid,
VARCHAR UserName = @jobvar_username,
VARCHAR UserPassword = @jobvar_password,
VARCHAR WorkingDatabase = @jobvar_working_database,
VARCHAR ARRAY ErrorList = ['3807','3803','5980']
How can I replace that file or command-line provided @jobvar_password with a wallet reference?
Have you tried putting the text "$tdwallet(put_item_name_here)" as the value of the UserPassword attribute (or on the command line with the -u option, or in the job variable file)?
I tried using TDWallet with two different utilities .BTEQ (T18.104.22.168) and ARCMAIN (T22.214.171.124). It seemed to have worked fine with BTEQ but gave an error in ARCMAIN.Im using CLIV2 T126.96.36.199.
Since TD Wallet usernames and passwords contain special characters, you must use double quotation marks to log on, such as: