配置對Teradata的訪問

使用Campaign Federated Data Access(FDA)選項來處理儲存在外部資料庫中的資訊。 請遵循下列步驟來設定Teradata的存取權。

  1. 安裝和配置Teradata驅動程式
  2. 在促銷活動中設定Teradata 外部帳戶
  3. 為Teradata和Campaign伺服器設定其他設定

Teradata配置

您需要安裝Teradata的驅動程式,才能建置與Campaign的連線。

  1. 安裝用於Teradata](https://downloads.teradata.com/download/connectivity/odbc-driver/linux)的[ODBC驅動程式。

    它由三個軟體包組成,可以按以下順序安裝在Red Hat(或CentOS)/Suse上:

    • TeraGSS
    • tdicu1510(使用setup_wrapper.sh安裝)
    • tdobc1510(使用setup_wrapper.sh安裝)
  2. 配置ODBC驅動程式。 配置可在標準檔案中執行:/etc/odbc.ini​用於常規參數,/etc/odbcinst.ini用於聲明驅動程式:

    • /etc/odbc.ini

      [ODBC]
      InstallDir=/etc/
      

      "InstallDir"與​odbcinst.ini​檔案的位置相對應。

    • /etc/odbcinst.ini

      [ODBC DRIVERS]
      teradata=Installed
      
      [teradata]
      Driver=/opt/teradata/client/15.10/lib64/tdata.so
      APILevel=CORE
      ConnectFunctions=YYY
      DriverODBCVer=3.51
      SQLLevel=1
      
  3. 指定Adobe Campaign伺服器的環境變數:

    • LD_LIBRARY_PATH:/opt/teradata/client/15.10/lib64和/opt/teradata/client/15.10/odbc_64/lib。
    • ODBCINI:odbc.ini檔案的位置(例如/etc/odbc.ini)。
    • NLSPATH:opermsgs.cat檔案的位置(/opt/teradata/client/15.10/msg/opermsgs.cat?lang=zh-Hant)
注意

在FDA中連線至Teradata外部資料庫需要Adobe Campaign伺服器上執行其他設定步驟。 進一步瞭解

Teradata外部帳戶

Teradata外部帳戶可讓您將Campaign例項連接至Teradata外部資料庫。

  1. 在促銷活動​Explorer​中,按一下​Administration / Platform / External accounts

  2. 按一下​New ,然後選擇​External database​作為​Type

  3. 要配置​Teradata​外部帳戶,您必須指定:

    • Type:選擇類 Teradata 型。

    • Server:Teradata伺服器的URL或名稱

    • Account:用於訪問Teradata資料庫的帳戶的名稱

    • Password:用於連接到Teradata資料庫的口令

    • Database:資料庫名稱(可選)

    • Options:要通過Teradata傳遞的選項。使用下列格式:'parameter=value'。 使用半欄作為值之間的分隔符。

    • Timezone:Teradata中設定的時區。進一步了解

查詢色帶

當多個Adobe Campaign使用者連線至相同的FDA Teradata外部帳戶時,Query banding​標籤可讓您在作業階段中設定查詢頻帶,即一組金鑰/值配對。

設定此選項時,每當Campaign使用者對Teradata資料庫執行查詢時,Adobe Campaign會傳送中繼資料,其中包含與此使用者相關的索引鍵清單。 然後Teradata管理員就可以將這些資料用於稽核或管理存取權限。

注意

有關​Query banding​的詳細資訊,請參閱 Teradata文檔

要配置查詢條帶,請執行以下步驟:

  1. 使用​Default​輸入預設查詢節區,如果用戶沒有關聯的查詢節區,則將使用該節區。 如果此欄位留空,則沒有查詢節區的使用者將無法使用Teradata。

  2. 使用​Users​欄位為每位使用者指定查詢頻帶。 您可以根據需要添加任意數量的鍵/值對,例如priority=1;workload=high。 如果用戶未分配查詢節區,將應用​Default​欄位。

  3. 勾選​Active​方塊以啟用此功能

外部帳戶疑難排解

如果在測試連接​TIM-030008日期'2'時出現以下錯誤:缺少字元(iRc=-53)​確保ODBC驅動程式已正確安裝,並且已為Campaign伺服器設定了LD_LIBRARY_PATH(Linux)/PATH(Windows)。

錯誤​ODB-240000 ODBC錯誤:[Microsoft][ODBC Driver Manager]未找到資料源名稱,且未指定預設驅動程式。 在Windows中執行。Adobe Campaign預期teradata會在odbcinst.ini中命名為'{teradata}'。

  • 啟動Campaign 18.10後,可以在外部帳戶的選項中添加ODBCDriverName="Teradata Database ODBC驅動程式16.10"。 版本號可以更改,通過運行odbcad32.exe並訪問「Drivers(驅動程式)」頁籤可以找到確切的名稱。

  • 如果您使用舊版的促銷活動,則必須將驅動程式安裝建立的odbcinst.ini的Teradata部分複製到名為Teradata的新部分。 Regedit可用於此情況。 如果您的基礎是latin1,則必須在選項中添加​APICharSize=1

其他配置

用戶配置

外部資料庫需要以下權限:建立/刪除/執行自定義過程、建立/刪除/插入/選擇表。 如果您想在Adobe Campaign例項上使用md5和sha2函式,您也必須建立使用者模式函式。

請務必設定正確的時區。 它應符合在Adobe Campaign例項中建立的外部帳戶中所設定的內容。

Adobe Campaign不會針對它將在資料庫中建立的物件設定保護模式(後援)。 您可能需要在Adobe Campaign使用下列查詢來連線至Teradata資料庫的使用者上設定預設值:

禁用預設後援
MODIFY USER $login$ AS NO FALLBACK;

MD5安裝

如果您想在Adobe Campaign實例中使用md5函式,則必須從此(md5_20080530.zip)在Teradata資料庫上安裝用戶模式函式。

下載檔案的sha1如下: 65cc0bb6935f72fcd84fef1ebcd64c00115dfd1e。

要安裝md5:

  1. 解壓縮md5_20080530.zip檔案。

  2. 轉到md5/src目錄。

  3. 使用方法連接到您的Teradata資料庫。

  4. 運行以下beq命令:

    .run file = hash_md5.btq
    

SHA2安裝

如果您想在Adobe Campaign實例中使用sha2函式,則必須從此(teradata-udf-sha2-1.0.zip)在Teradata資料庫上安裝使用者模式函式。

下載檔案的sha1如下:e87438d37424836358bd3902cf1adeb629349780。

要安裝sha2:

  1. 解壓縮teradata-udf-sha2-1.0.zip檔案。

  2. 前往teradata-udf-sha2-1.0/src目錄。

  3. 使用方法連接到您的Teradata資料庫。

  4. 運行以下兩個beq命令:

    .run file = hash_sha256.sql
    .run file = hash_sha512.sql
    

UDF_UTF16TO8安裝

如果您想在Adobe Campaign實例中使用udf_utf16to8函式,則必須從​Teradataunicode工具套件page(utk_release1.7.0.0.zip)的,在Teradata資料庫上安裝使用者模式函式。

下載檔案的sha1如下: e58235f434f52c71316a577cb48e20b97d24f470。

若要安裝udf_utf16to8:

  1. 解壓縮utk_release1.7.0.0.zip檔案。

  2. 在擷取的檔案中尋找udf_utf16to8.o,並導覽至包含檔案的目錄。 它應命名為utk_release1.7.0.0/utk_release1.7.0.0/04 TranslationUDFs/01 Teradata UDFs/suselinux-x8664/udf_installation/。

  3. 使用方法連接到您的Teradata資料庫。

  4. 鍵入以下beq命令:

    REPLACE FUNCTION udf_utf16to8 (
    inputString VARCHAR(8000) CHARACTER SET UNICODE
    ) RETURNS VARCHAR(16000) CHARACTER SET LATIN
    LANGUAGE C
    NO SQL
    EXTERNAL NAME 'CO!i18n103!udf_utf16to8.o!F!udf_utf16to8'
    PARAMETER STYLE SQL;
    
    -- Test: should return 410042
    SELECT CAST(Char2HexInt(UDF_UTF16to8(_UNICODE'004100000042'XC)) AS VARCHAR(100));
    

Linux的促銷活動伺服器組態

安裝驅動程式時需要以下操作:

  • Teradata ODBC驅動程式,可在此中找到

  • Teradata工具與公用程式(用於批量載入),可在此頁面中找到

檔案名和sha1:

  • tdobc1620_linux_indep.16.20.00.00-1.tar.gz 121fdd978b56fe1304fc5cb7819741b0847f44fd

  • TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz b 29d0af5ffd8dcf68a9dba6f8639387b19c563

如果您的Linux散發沒有套件,您可以如CentOS 7中所述安裝(例如使用docker),然後複製Adobe Campaign伺服器上/opt/teradata的內容。

ODBC驅動程式安裝

要安裝ODBC驅動程式:

  1. 解壓縮tdobc1620__linux_indep.16.20.00.00-1.tar.gz檔案。

  2. 前往tdobc1620目錄。

  3. 您可能需要修正安裝指令碼:

    "sed -i s/16.10/16.20/ setup_wrapper.sh".
    
  4. 運行setup_wrapper.sh。

Teradata工具和實用程式安裝

安裝工具:

  1. 解壓縮TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz檔案。

  2. 前往TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tdicu目錄。

  3. 運行setup_wrapper.sh。

  4. 前往TeradataToolsAndUtilitiesBase/Linux/i386-x8664/cliv2目錄。

  5. 運行setup_wrapper.sh。

  6. 前往TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tptbase目錄。

  7. 運行setup_wrapper.sh。

  8. libtelapi.so檔案應可在/opt/teradata/client/16.20/lib64中使用。

Windows的促銷活動伺服器設定

您首先需要下載適用於Windows的Teradata工具和公用程式。 您可以從此頁面下載

確保安裝ODBC驅動程式和Teradata Parallel Transporter Base。 它將安裝用於在Teradata資料庫上批量載入的telapi.dll。

確保驅動程式和實用程式的路徑位於nlserver在執行期間將具有的PATH變數中。 預設情況下,路徑為C:\Program Files (x86)\Teradata\Client\15.10\bin on Windows 32 bits or C:\Program Files\Teradata\Client\15.10\bin on 64 bit)。

時區

Teradata使用非標準的時區名稱,您可以在 Teradata站點上找到清單。 Adobe Campaign會嘗試將外部設定中的時區轉換為Teradata所瞭解的時區。 如果找不到對應,則會找到會話的壁櫥GMT+X(或GMT-X)時區,日誌中會出現警告。

轉換完成時,會讀取名為teradata_timezones.txt的檔案,該檔案應位於下列datakit目錄:/usr/local/neolane/nl6/datakit under linux. 如果您編輯此檔案,請務必連絡Adobe Campaign團隊,以變更原始碼,否則下次促銷活動更新時,此檔案將會覆寫。

使用-verbose開關運行nlserver時,將指示用於連接的時區,例如:

15:04:04 >   ODB-240007 Teradata: will use 'Europe Central' as session time zone.

如果使用的時區不正確,則可在外部帳戶上新增名為「TimeZoneName」的選項。 在這種情況下,請使用Teradata值,例如"TimeZoneName=Europe Central"。

當在Teradata檔案中使用大量載入或「快速載入」時,Campaign無法指出時區。 因此,建議您設定促銷活動用來連線之使用者的預設時區:

MODIFY USER $login$ AS TIME ZONE = 'Europe Central';

本頁內容