設定Teradata的存取權 configure-access-to-teradata
使用Campaign 同盟資料存取 (FDA)選項來處理儲存在外部資料庫中的資訊。 請依照下列步驟設定對Teradata的存取權。
- 安裝及設定Teradata驅動程式
- 在Campaign中設定Teradata外部帳戶
- 設定Teradata與促銷活動伺服器的額外組態
teradata設定 teradata-config
您必須安裝Teradata驅動程式,才能實作與Campaign的連線。
-
安裝Teradata🔗的ODBC驅動程式。
它由三個套件組成,可依下列順序安裝在Red Hat (或CentOS)/Suse上:
- TeraGSS
- tdicu1510 (使用setup_wrapper.sh安裝)
- tdodbc1510 (使用setup_wrapper.sh安裝)
-
設定ODBC驅動程式。 可在標準檔案中執行組態: /etc/odbc.ini (一般引數)和/etc/odbcinst.ini (宣告驅動程式):
-
/etc/odbc.ini
code language-none [ODBC] InstallDir=/etc/
「InstallDir」對應至 odbcinst.ini 檔案的位置。
-
/etc/odbcinst.ini
code language-none [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伺服器的環境變數:
- 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檔案(https://experienceleague.adobe.com/opt/teradata/client/15.10/msg/opermsgs.cat?lang=zh-Hant)的位置
teradata外部帳戶 teradata-external
teradata外部帳戶可讓您將您的Campaign執行個體連線至Teradata外部資料庫。
-
從行銷活動 Explorer,按一下 Administration / Platform / External accounts。
-
按一下 New 並選取 External database 作為 Type。
-
若要設定 Teradata 外部帳戶,您必須指定:
-
Type:選擇 Teradata 型別。
-
Server:您的Teradata伺服器的URL或名稱
-
Account:用來存取Teradata資料庫的帳戶名稱
-
Password:用來連線至Teradata資料庫的密碼
-
Database:資料庫的名稱(選擇性)
-
Options:要透過Teradata傳遞的選項。 使用以下格式: 'parameter=value'。 值之間使用分號作為分隔符號。
-
Timezone:時區設定於Teradata。 了解更多
-
聯結器支援下列選項:
如需詳細資訊,請參閱此頁面。
如需詳細資訊,請參閱此頁面
新增其他ODBC外部帳戶 add-external
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管理員可使用此資料進行稽核或管理存取許可權。
若要設定「查詢」級區,請遵循下列步驟:
-
使用 Default 輸入預設查詢頻帶,如果使用者沒有關聯的查詢頻帶,就會使用預設查詢頻帶。 如果此欄位留空,則沒有查詢範圍的使用者將無法使用Teradata。
-
使用 Users 欄位為每個使用者指定查詢頻帶。 您可以視需要新增任意數量的索引鍵/值組,例如,priority=1;workload=high。 如果使用者未指派查詢頻帶,則會套用 Default 欄位。
-
勾選 Active 方塊以啟動此功能
外部帳戶疑難排解 external-account-troubleshooting
如果在測試連線 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預期odbcinst.ini中的teradata名稱為'{teradata}'。
-
從Campaign 18.10開始,您可以在外部帳戶的選項中新增ODBCDriverName="Teradata資料庫ODBC驅動程式16.10"。 版本編號可以變更,執行odbcad32.exe並存取[驅動程式]索引標籤即可找到確切的名稱。
-
如果您使用較舊的Campaign版本,則必須將驅動程式安裝所建立的odbcinst.ini的Teradata區段複製到名為Teradata的新區段。 在這種情況下,可以使用Regedit 。 如果您的基底是latin1,則必須在選項中新增 APICharSize=1。
其他設定 teradata-additional-configurations
使用者設定 user-configuration
外部資料庫需要下列許可權:建立/刪除/執行自訂程式、建立/刪除/插入/選取表格。 如果您想要在Adobe Campaign執行個體上使用md5和sha2函式,則可能也需要建立使用者模式函式。
請務必設定正確的時區。 它應符合將在Adobe Campaign例項中建立的外部帳戶中設定的內容。
Adobe Campaign不會在其將在資料庫中建立的物件上設定保護模式(備援)。 您可能需要在Adobe Campaign將用來透過下列查詢連線至Teradata資料庫的使用者上設定預設值:
MODIFY USER $login$ AS NO FALLBACK;
MD5安裝 md5-installation
如果您想要在Adobe Campaign執行個體中使用md5函式,您必須從此頁面 (md5_20080530.zip)在Teradata資料庫上安裝使用者模式函式。
下載檔案的sha1如下65cc0bb6935f72fcd84fef1ebcd64c00115dfd1e。
若要安裝md5:
-
解壓縮md5_20080530.zip檔案。
-
前往md5/src目錄。
-
使用bteq連線至您的Teradata資料庫。
-
執行下列bteq命令:
code language-none .run file = hash_md5.btq
SHA2安裝 sha2-installation
如果您想要在Adobe Campaign執行個體中使用sha2函式,您必須從此頁面 (teradata-udf-sha2-1.0.zip)在Teradata資料庫上安裝使用者模式函式。
下載檔案的sha1如下e87438d37424836358bd3902cf1adeb629349780。
若要安裝sha2:
-
解壓縮teradata-udf-sha2-1.0.zip檔案。
-
前往teradata-udf-sha2-1.0/src目錄。
-
使用bteq連線至您的Teradata資料庫。
-
執行以下兩個bteq命令:
code language-none .run file = hash_sha256.sql .run file = hash_sha512.sql
UDF_UTF16TO8安裝 UDF-UTF16TO8-installation
如果您要在Adobe Campaign執行個體中使用udf_utf16to8函式,請從 Teradataunicode工具套件 在Teradata資料庫上安裝使用者模式函式。
下載檔案的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/。
-
使用bteq連線至您的Teradata資料庫。
-
輸入下列bteq指令:
code language-none 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伺服器設定 campaign-server-linux
驅動程式安裝需要下列專案:
檔案名稱和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-installation
若要安裝ODBC驅動程式:
-
解壓縮tdodbc1620__linux_indep.16.20.00.00-1.tar.gz檔案。
-
移至tdodbc1620目錄。
-
您可能需要修正安裝指令碼:
code language-none "sed -i s/16.10/16.20/ setup_wrapper.sh".
-
執行setup_wrapper.sh。
teradata工具與公用程式安裝 teradata-tools-installation
若要安裝工具:
-
解壓縮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的Campaign伺服器設定 campaign-server-windows
您必須先下載Windows適用的Teradata工具和公用程式。 您可以從此頁面下載
請務必安裝ODBC驅動程式和Teradata平行傳輸程式基底。 它會安裝用來在Teradata資料庫上進行大量載入的telapi.dll。
請確定驅動程式和公用程式的路徑位於nlserver在執行期間所擁有的PATH變數中。 依預設,路徑為C:\Program Files (x86) \Teradata\Client\15.10\bin (在Windows 32位元)或C:\Program Files\Teradata\Client\15.10\bin (在64位元)。
時區 timezone
teradata使用非標準的時區名稱,您可以在Teradata網站上找到清單。 Adobe Campaign會嘗試將外部設定中指定的時區轉換為Teradata所瞭解的情況。 如果找不到通訊,則會找到工作階段最近的GMT+X (或GMT-X)時區,並在日誌中顯示警告。
轉換會讀取名為teradata_timezones.txt的檔案,該檔案應位於以下datakit目錄中:/usr/local/neolane/nl6/datakit 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無法指出時區。 因此,建議您設定Campaign用來連線之使用者的預設時區:
MODIFY USER $login$ AS TIME ZONE = 'Europe Central';