使用Campaign 同盟資料存取 (FDA)處理儲存在外部資料庫中的資訊的選項。 請依照下列步驟來設定對Teradata的存取權。
您需要安裝Teradata的驅動程式,才能實作與Campaign的連線。
它由三個軟體包組成,可以按以下順序安裝在Red Hat(或CentOS)/Suse上:
配置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
指定Adobe Campaign伺服器的環境變數:
在FDA中連線至Teradata外部資料庫需要在Adobe Campaign伺服器上執行額外的設定步驟。 了解更多資訊。
teradata外部帳戶可讓您將Campaign執行個體連結至Teradata外部資料庫。
從促銷活動 Explorer,按一下 Administration / Platform / External accounts.
按一下 New 選取 External database as Type.
若要設定 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應用程式代碼」頁。 如需關於此項目的詳細資訊,請參閱此頁面 |
此選項無法供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檔案.
要配置「查詢段」,請執行以下步驟:
使用 Default 要輸入預設查詢帶,在用戶沒有關聯的查詢帶時將使用該帶。 如果此欄位留空,則沒有查詢帶的使用者將無法使用Teradata。
使用 Users 欄位來指定每個使用者的查詢頻段。 您可以新增所需的索引鍵/值組數,例如priority=1;workload=high。 如果用戶未分配查詢帶,則 Default 欄位。
檢查 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; |
如果要在Adobe Campaign實例中使用md5函式,則必須從此在Teradata資料庫上安裝用戶模式函式 頁面 (md5_20080530.zip)。
下載檔案的sha1如下:65cc0bb6935f72fcd84fef1ebcd64c00115dfd1e。
安裝md5:
將md5_20080530.zip檔案解壓縮。
轉到md5/src目錄。
使用beq連接到Teradata資料庫。
執行下列beq命令:
.run file = hash_md5.btq
如果您想在Adobe Campaign例項中使用sha2函式,必須透過此在Teradata資料庫上安裝使用者模式函式 頁面 (teradata-udf-sha2-1.0.zip)。
下載檔案的sha1如下e87438d37424836358bd3902cf1adeb629349780。
安裝sha2:
將teradata-udf-sha2-1.0.zip檔案解壓縮。
前往teradata-udf-sha2-1.0/src目錄。
使用beq連接到Teradata資料庫。
執行下列兩個beq命令:
.run file = hash_sha256.sql
.run file = hash_sha512.sql
如果您想在Adobe Campaign例項中使用udf_utf16to8函式,則必須從以下位置將使用者模式函式安裝在Teradata資料庫上: Teradataunicode工具套件 這個 頁面 (utk_release1.7.0.0.zip)。
下載檔案的sha1如下e58235f434f52c71316a577cb48e20b97d24f470。
要安裝udf_utf16to8:
將utk_release1.7.0.0.zip檔案解壓縮。
在擷取的檔案中尋找udf_utf16to8.o,並導覽至包含檔案的目錄。 它的名稱應為utk_release1.7.0.0/utk_release1.7.0.0/04 TranslationUDFs/01TeradataUDFs/suselinux-x8664/udf_installation/。
使用beq連接到Teradata資料庫。
鍵入以下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));
安裝驅動程式時需要:
檔案名和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驅動程式:
解壓tdodbc1620__linux_indep.16.20.00.00-1.tar.gz檔案。
轉到tdodbc1620目錄。
您可能需要修正設定指令碼:
"sed -i s/16.10/16.20/ setup_wrapper.sh".
運行setup_wrapper.sh。
安裝工具:
解壓TeradataToolsAndUtilitiesBase__linux_indep.16.20.01.00.tar.gz檔案。
轉到TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tdicu目錄。
運行setup_wrapper.sh。
轉到TeradataToolsAndUtilitiesBase/Linux/i386-x8664/cliv2目錄。
運行setup_wrapper.sh。
轉到TeradataToolsAndUtilitiesBase/Linux/i386-x8664/tptbase目錄。
運行setup_wrapper.sh。
libtelapi.so檔案應可在/opt/teradata/client/16.20/lib64中使用。
您首先需要下載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';