我对Teradata很新。希望我在论坛上提出写问题。 :)
我编写的fastload脚本在本地计算机上运行得非常好,但无法在需要LDAP进行身份验证的环境中进行身份验证。
主要环境使用LDAP身份验证。我用过" logmech ldap"在我的脚本中,但它仍然无法正常工作。请参阅下面我试图运行的脚本:
错误消息:用户名密码无效。
请帮助我了解使用LDAP身份验证运行此脚本需要哪些其他命令/信息。
以下是脚本:
logmech ldap;
LOGON server/dbc,"dbc";
DATABASE DemoDB;
CREATE TABLE SALES3
,FALLBACK
,NO BEFORE JOURNAL
,NO AFTER JOURNAL
(
ID VARCHAR(50) TITLE 'ID' NULL
, BatchId BIGINT TITLE 'BatchId' NULL
,CREATED DATE TITLE 'Created On' NULL
,COL0 VARCHAR(50) TITLE 'COL0' NULL
,COL1 VARCHAR(50) TITLE 'COL1' NULL
,COL2 VARCHAR(50) TITLE 'COL2' NULL
,COL3 VARCHAR(50) TITLE 'COL3' NULL
,COL4 VARCHAR(50) TITLE 'COL4' NULL
,COL5 VARCHAR(50) TITLE 'COL5' NULL
,COL6 VARCHAR(50) TITLE 'COL6' NULL
,COL7 VARCHAR(50) TITLE 'COL7' NULL
,COL8 VARCHAR(50) TITLE 'COL8' NULL
,COL9 VARCHAR(50) TITLE 'COL9' NULL
);
BEGIN LOADING DemoDB.SALES3
ERRORFILES SALES3_ET, SALES3_UV
CHECKPOINT 100000;
SET RECORD VARTEXT '≡';
DEFINE
"COL0" (VARCHAR(50)),
"COL1" (VARCHAR(50)),
"COL2" (VARCHAR(50)),
"COL3" (VARCHAR(50)),
"COL4" (VARCHAR(50)),
"COL5" (VARCHAR(50)),
"COL6" (VARCHAR(50)),
"COL7" (VARCHAR(50)),
"COL8" (VARCHAR(50)),
"COL9" (VARCHAR(50)),
"ID" (VARCHAR(50)),
FILE = 'D:\test.csv';
INSERT INTO DemoDB.SALES3 (
BatchId,
"COL0",
"COL1",
"COL2",
"COL3",
"COL4",
"COL5",
"COL6",
"COL7",
"COL8",
"COL9",
"ID"
)
VALUES (
10049,
:"COL0",
:"COL1",
:"COL2",
:"COL3",
:"COL4",
:"COL5",
:"COL6",
:"COL7",
:"COL8",
:"COL9",
:"ID"
);
END LOADING;
LOGOFF;
以下是BTEQ脚本:
.logmech ldap;
.LOGON server/dbc,"dbc";
SELECT 1 FROM dbc.TablesV WHERE databasename='DemoDB' AND TableName='dwlogSALES3';
.IF activitycount =0 THEN .GOTO FirstLabel
DROP TABLE DemoDB.dwlogSALES3;
.Label FirstLabel
SELECT 1 FROM dbc.TablesV WHERE databasename='DemoDB' AND TableName='SALES3_UV';
.IF activitycount =0 THEN .GOTO SecondLabel
DROP TABLE DemoDB.SALES3_UV;
.Label SecondLabel
SELECT 1 FROM dbc.TablesV WHERE databasename='DemoDB' AND TableName='SALES3_ET';
.IF activitycount =0 THEN .GOTO ThirdLabel
DROP TABLE DemoDB.SALES3_ET;
.Label ThirdLabel
SELECT 1 FROM dbc.TablesV WHERE databasename='DemoDB' AND TableName='SALES3_WK';
.IF activitycount =0 THEN .GOTO FourthLabel
DROP TABLE DemoDB.SALES3_WK;
.Label FourthLabel
SELECT 1 FROM dbc.TablesV WHERE databasename='DemoDB' AND TableName='sales3';
.IF activitycount =0 THEN .GOTO FifthLabel
DROP TABLE DemoDB.sales3;
.Label FifthLabel
.LOGOFF;