Skip to main content
Version: 1.4 (Preview)

FASTBCP_TTU_PATH

Overview​

The FASTBCP_TTU_PATH environment variable tells FastBCP where to find the customer's Teradata Tools and Utilities (TTU) for the adbc_teradata connection type.

The embedded ArpeTeradata driver needs TTU (CLIv2, libcliv2.so) only for the legacy-port logon: sslmode=disable, or the fallback of the default sslmode=prefer when the server has no TLS. The default TLS logon on the HTTPS port never uses TTU.

Linux only

The lookup only runs on Linux. On Windows, FastBCP passes nothing and the driver finds wincli32.dll itself (ARPETERADATA_TTU_PATH, its own directory, the registered TTU installation).

Syntax​

export FASTBCP_TTU_PATH=/opt/teradata/client/20.00

Configuration​

PropertyValue
TypeDirectory path
DefaultNot set
Applies to-C adbc_teradata on Linux
SinceFastBCP 1.4

Search Order​

FastBCP looks for TTU in this order and uses the first match:

  1. The FASTBCP_TTU_PATH environment variable. If the directory does not exist or holds no libcliv2.so, FastBCP logs a warning and goes on.
  2. A ttu directory next to the FastBCP binary.
  3. A TeradataToolsAndUtilitiesBase directory next to the FastBCP binary (the folder of Teradata's Linux download).
  4. Nothing found: no TTU path is passed, and the driver searches itself (ARPETERADATA_TTU_PATH, /opt/teradata/client, the system library path).

The library directory found is passed to the driver as adbc.arpeteradata.ttu_path and logged:

TTU (adbc_teradata legacy-port logon): /opt/teradata/client/20.00/lib64 (from FASTBCP_TTU_PATH)

Accepted Layouts​

Give a full TTU client directory, not only libcliv2.so. Each location can hold:

  • the client directory itself, e.g. /opt/teradata/client/20.00 (with its lib64 directory);
  • the library directory itself, e.g. /opt/teradata/client/20.00/lib64;
  • a directory above the client directory laid out as <version>/, client/<version>/, teradata/client/<version>/ or opt/teradata/client/<version>/ (the last one is what unpacking the TTU RPMs gives).

When several versions are found, the newest wins.

Keep the version folder name

CLIv2 reaches its own files through lib64/tdclientdir (which holds ../..) and appends its version, so the client directory must keep its version name (for example 20.00). A copy of an installed TTU next to the binary must be ttu/20.00, not ttu/ alone.

Using Teradata's TTU Download Without Installing It​

Teradata's Linux download is a set of RPMs. To use it without installing it, run these commands next to the FastBCP binary. They unpack CLIv2 and its ICU libraries into TeradataToolsAndUtilitiesBase/opt/teradata/client/20.00 and add the two things the TTU installer would add: lib64/tdclientdir and the ICU links. Adapt the file name to your TTU version.

tar xzf TeradataToolsAndUtilitiesBase__linux_x8664.20.00.39.00-1.tar.gz
cd TeradataToolsAndUtilitiesBase
for r in Linux/x8664/cliv2*.rpm Linux/x8664/tdicu*.rpm; do rpm2cpio "$r" | cpio -idm; done
cd opt/teradata/client/20.00/lib64
printf '../..' > tdclientdir
for f in libicu*td.so.*.*; do ln -sf "$f" "${f%.*}"; ln -sf "$f" "${f%.so.*}.so"; done

FastBCP finds this TeradataToolsAndUtilitiesBase folder by itself; FASTBCP_TTU_PATH is not needed.

FastBCP warns at startup when the TTU folder it found lacks tdclientdir or the ICU links (libicu*td.so.65 and libicu*td.so), or when the client directory is not named after its version. CLIv2 would otherwise fail at logon with DBCHINI failed.

Example​

export FASTBCP_TTU_PATH=/opt/teradata/client/20.00

./FastBCP \
--connectiontype adbc_teradata \
--sourceconnectstring "Server=td-host;Port=1025;User Id=FastUser;Password=FastPassword;SSL Mode=disable" \
--sourceschema "TPCH" \
--sourcetable "ORDERS" \
--directory "/data/export/orders" \
--fileoutput "orders.parquet" \
--parallelmethod Ntile \
--distributekeycolumn "o_orderkey" \
--paralleldegree 8
Copyright © 2026 Architecture & Performance.