配置對Teradata的訪問

使用Campaign 同盟資料存取 (FDA)處理儲存在外部資料庫中的資訊的選項。 請依照下列步驟來設定對Teradata的存取權。

  1. 安裝和配置 Teradata驅動程式
  2. 設定Teradata 外部帳戶 在Campaign
  3. 設定 其他設定 (適用於Teradata和Campaign伺服器)

Teradata配置

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

  1. 安裝 用於Teradata的ODBC驅動程式.

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

    • TeraGSS
    • tdicu1510(使用setup_wrapper.sh安裝)
    • tdodbc1510(使用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/17.10/lib64/tdataodbc_sb64.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。
    • 奧德比尼: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 as Type.

  3. 若要設定 Teradata 外部帳戶,您必須指定:

    • Type:選擇 Teradata 類型。

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

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

    • Password:用於連接到Teradata資料庫的密碼

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

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

    • Timezone:teradata中設定的時區。 了解更多

連接器支援下列選項:

Option 說明
TD_MAX_SESSIONS 指定Teradata並行傳送程式可為操作員作業獲取的最大登錄會話數。
如需關於此項目的詳細資訊,請參閱此頁面.
時區名稱 伺服器時區的名稱。
字元集 用於配置Teradata字元集。
如需關於此項目的詳細資訊,請參閱此頁面.
IANAAppCodePage 「ODBC應用程式代碼」頁。
如需關於此項目的詳細資訊,請參閱此頁面

添加其他ODBC外部帳戶

注意

此選項無法供7.3.1版以前的組建版本使用。

teradata驅動程式提供其自己的ODBC庫,但此庫可能與其他ODBC外部帳戶不相容。

如果要配置另一個也使用ODBC的外部帳戶(例如Snowflake),則需要將ODBCLib選項集添加到預設ODBC庫(/usr/lib/x86_64-linux-gnu/libodbc.so 關於Debian和 /usr/lib64/libodbc.so (在RHEL/CentOS上)。

查詢級區

當多個Adobe Campaign使用者連線至相同的FDATeradata外部帳戶時, 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] 未找到資料源名稱,且未指定預設驅動程式。 使用16.X驅動程式時,在Windows中發生。 Adobe Campaign預期teradata在odbcinst.ini中命名為「{teradata}」。

  • 從Campaign 18.10開始,您可以在外部帳戶的選項中新增ODBCDriverName="Teradata資料庫ODBC驅動程式16.10"。 版本號可以更改,通過運行odbcad32.exe並訪問「驅動程式」(Drivers)頁簽,可以找到確切的名稱。

  • 如果您使用舊版的Campaign,則必須將驅動程式安裝所建立的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函式,則必須從此在Teradata資料庫上安裝用戶模式函式 頁面 (md5_20080530.zip)。

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

安裝md5:

  1. 將md5_20080530.zip檔案解壓縮。

  2. 轉到md5/src目錄。

  3. 使用beq連接到Teradata資料庫。

  4. 執行下列beq命令:

    .run file = hash_md5.btq
    

SHA2安裝

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

下載檔案的sha1如下e87438d37424836358bd3902cf1adeb629349780。

安裝sha2:

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

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

  3. 使用beq連接到Teradata資料庫。

  4. 執行下列兩個beq命令:

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

UDF_UTF16TO8安裝

如果您想在Adobe Campaign例項中使用udf_utf16to8函式,則必須從以下位置將使用者模式函式安裝在Teradata資料庫上: Teradataunicode工具套件 這個 頁面 (utk_release1.7.0.0.zip)。

下載檔案的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/01TeradataUDFs/suselinux-x8664/udf_installation/。

  3. 使用beq連接到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的Campaign伺服器設定

安裝驅動程式時需要:

  • TeradataODBC驅動程式,可在此中找到 頁面

  • Teradata工具和實用程式(用於批量載入),可在此 頁面

檔案名和sha1:

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

  • TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz b 29d0af5ffd8dcf68a9dbbaa6f8639387b19c563

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

ODBC驅動程式安裝

安裝ODBC驅動程式:

  1. 解壓tdodbc1620__linux_indep.16.20.00.00-1.tar.gz檔案。

  2. 轉到tdodbc1620目錄。

  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的Campaign伺服器設定

您首先需要下載Windows適用的Teradata工具和實用程式。 您可以從這裡下載 頁面

確保安裝ODBC驅動程式和Teradata並行傳輸庫。 它將安裝用於在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時區.txt」的檔案,該檔案應位於下列datakit目錄中:在linux下/usr/local/neolane/nl6/datakit。 如果您編輯此檔案,請務必聯絡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無法指出時區。 因此,建議您設定Campaign用來連線之使用者的預設時區:

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

本頁內容