连接到Teradata:常规用户和域用户之间的差异



我确实写了代码

import jaydebeapi
USERNAME="user01"
PASSWORD="password01"
URL_CONNECTION="jdbc:teradata://server01/"
jars=['E:\jdbc\tdgssconfig.jar','E:\jdbc\terajdbc4.jar']
conn = jaydebeapi.connect('com.teradata.jdbc.TeraDriver', URL_CONNECTION,[USERNAME,PASSWORD], jars)

如果我发布了用户名和密码用户保护的内部密码 - 好的。但是,如果我发布LDAP返回错误的用户名和密码

jpype._jexception.SQLExceptionPyRaisable: java.sql.SQLException: [Teradata Database] [TeraJDBC 16.10.00.07] [Error 8017] [SQLState 28000] The UserId, Password or Account is invalid.

内部用户和LDAP用户之间存在差异吗?我必须更改?

您需要修改url_connection以包括LogMech参数以指定LDAP。

import jaydebeapi
USERNAME="user01"
PASSWORD="password01"
URL_CONNECTION="jdbc:teradata://server01/LOGMECH=LDAP"
jars=['E:\jdbc\tdgssconfig.jar','E:\jdbc\terajdbc4.jar']
conn = jaydebeapi.connect('com.teradata.jdbc.TeraDriver', URL_CONNECTION,[USERNAME,PASSWORD], jars)

您需要将登录机制指定为Teradata中的LDAP,以通过LDAP对您进行认证。默认情况下,Teradata使用TD2身份验证机制,这就是为什么您的内部密码可以工作而不是LDAP。

最新更新