- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我一直在尝试连接到 Teradata
Class.forName("com.teradata.jdbc.TeraDriver");
String connectionString = "jdbc:teradata://xxx.xxxxxx.com/database=xxxxxx, tmode=ANSI, charset=UTF8";
String user = "Rocket512";
String password = "aui8mn5";
Connection conn = DriverManager.getConnection(connectionString, user, password);
得到以下内容
Exception in thread "main" com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata Database]
[TeraJDBC 14.10.00.17] [Error 8017] [SQLState 28000] The UserId, Password or Account is invalid.
at com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDatabaseSQLException(ErrorFactory.java:300)
at com.teradata.jdbc.jdbc.GenericLogonController.run(GenericLogonController.java:666)
at com.teradata.jdbc.jdbc_4.TDSession.<init>(TDSession.java:216)
我知道主机指定正确,因为我没有得到 UnknownHost Exception.
我还仔细检查了我的用户 ID 和密码是否正确。
我运行了 @beni23 建议的查询(谢谢)
select *
from dbc.logonoff
where logdate >= date '2013-10-31'
这是我得到的结果
什么是错误密码
?我用这个密码使用 SQL Assistant,效果很好。为什么我无法连接到 Java?
最佳答案
LDAP 身份验证失败不会在 DBC.LogOnOff
中作为 Bad Password
事件捕获,因为身份验证不会在数据库上进行。
通常您收到的错误消息,The UserId, Password or Account is invalid.
,表示用户帐户被锁定在数据库中。
SELECT U.UserName
, U.ProfileName
, U.DefaultAccount
, COALESCE(P.MAXLOGONATTEMPTS, S.MAXLOGONATTEMPTS) AS MaxLogonAttempts_
, U.LockedCount
, U.LockedDate
FROM dbc.UsersV U
LEFT JOIN
dbc.ProfileInfoV P
ON P.ProfileName = U.ProfileName
CROSS JOIN
dbc.SecurityDefaults S
WHERE UserName = 'Rocket512';
如果 LockedCount
不是 0
,则表示自上次成功登录数据库以来发生了失败的登录尝试。
如果 LockedDate
不是 NULL
,它表示帐户上次被锁定的日期。
MaxLogonAttempts_
会告诉您在帐户被锁定之前您可以使用数据库身份验证 (TD2) 尝试登录多少次。
我建议的几件事:
connectString
参数之间的空格connectString
connectString
以添加:,ACCOUNT=$AMRWRW&DrT&r
这应该与我上面的响应中的查询返回的内容匹配(我添加了 DefaultAccount
).编辑:2013 年 11 月 12 日我可以建议您下载 Teradata Studio Express 并尝试使用 JDBC 连接到同一个 Teradata 系统,就像您在此处的代码中一样。这可能有助于阐明您需要在连接字符串中指定的参数,以便使连接成功。您应该能够在 Teradata Studio Express 中设置您的连接参数,就像您在代码中设置的一样,并查看它是否有效。
将 LDAP 用作未被授予使用 NULL 密码登录的明确权限的用户的登录机制会导致错误消息“用户 ID、密码或帐户无效。”。前几天,我使用特权帐户收到了此消息,但没有将我的登录机制从 LDAP 更改为 TD2。
以下 SQL 返回什么?
SELECT *
FROM DBC.LogonRulesV
WHERE UserName = 'Rocket512';
它可能不会返回任何东西,这没关系。这仅仅意味着您使用该用户标识从系统上的任何主机登录的能力尚未被明确授予或撤销。
编辑:2018 年 5 月 22 日当提供的密码与存储在目录服务器上的内容不匹配时,外部身份验证用户的“密码错误”事件可能会出现在事件日志中。在某些情况下,您可以通过使用 PDN 中的 ldapsearch
直接向 LDAP 目录提交查询来验证这一点。您可以在安全管理手册中找到有关使用此命令的更多详细信息。我发现这试图对无法通过目录身份验证的用户帐户子集的问题进行分类。我觉得用更多的细节更新这个答案是合适的,因为我在顶部的陈述不是 100% 准确的。
关于java - 连接Java和Teradata : The UserId, 密码或账号无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776230/
Teradata 中是否有一个函数,可以通过将任意年份的日、月作为参数来“生成”日期?那么如果我有整数参数 p1_day、p2_month 和 p3_year (顺便说一句,它们是属性),是否有一个像
我试图搜索,但我没有找到任何东西。我正在尝试将两列添加到具有默认值 (Teradata) 的表中。我正在尝试这个声明 ALTER TABLE TEST add (DWH_Change_dt date
Teradata 中是否有一个函数可以通过给定任何年份的日、月作为参数来“制作”一个日期?所以,如果我有整数参数 p1_day、p2_month 和 p3_year(顺便说一下,它们是属性),是否有类
在我的 Teradata 表中,dhTimestamp 列下有纪元时间戳 dhTimestamp 1435308067705 1434965874565 1434763800794 14347
谁能解释 Teradata 中的查询带? 我已经对此进行了很多搜索,但无法获得我能理解的信息。 请详细一点。 谢谢!!! 最佳答案 TeraDATA 中的查询分段: Query Banding 提供了
Teradata 数据库中有特殊字符,我想删除它。 Example - special character: "aa€bb" (special charcter is "€" sign) Desir
GitHub 事件只是 empty last month , 至少 latest release 0.10.1 的下载链接(2019 年 3 月)无路可走 对于 VirtualBox images 同
我正在寻找一种方法来识别授予特定数据库中用户的默认权限。我已经尝试过: select * from dbc.allrights where username='user-id' and datab
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
如何计算前 7 天的数据(前一周的周日至周六)。无论一周中的哪一天运行,它都应始终给出前一周的星期日至星期六。谢谢 最佳答案 您的 Teradata 版本是什么? TD14 支持 NEXT_DAY,它
我为参加马拉松比赛的人准备了下表 person start end mike 2-Jun-14 2-Jul-14 nike 3-Jul-14 9-Aug-14 m
我想报告特定 Teradata 数据库的各种统计数据,尤其是“可用空间”。表倾斜是否应该包括在计算中?例如,有人建议了以下查询: SELECT databasename , SUM(maxp
我正在编写一个查询以从数据转储中获取 SCD 2 类型的数据。 我的数据和代码如下: create table promotions ( start_date date, end_date date,
我在 Teradata 中有一张表。我想知道它的大小。对于 Teradata 中的数据库,同样的事情可能会很有趣。 我该怎么做? 最佳答案 要检查您的 table 大小,您可以从 dbc.tables
我正在寻找类似于 ISNUMERIC() 的函数来自 T-SQL 和 Teradata SQL。如果字符类型字段中包含的数据都是数字,我想要一个简单的方法来返回一个 bool 值(或数字 1/0)。
我有下表 CREATE SET TABLE myTab,FALLBACK,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT,DEFAULT M
是否可以将 Teradata 表中的日期直接传输到 .csv 文件中。问题是 - 我的表有超过 1800 万行。如果是,请发送告诉我过程 最佳答案 对于这样大小的表,我建议使用 FastExport
请帮助指导如何在 Teradata 中删除数据库。 当我运行命令DROP DATABASE database_name时,我收到错误消息: *** Failure 3552 Cannot DROP d
teradata中是否有相当于oracle的Listagg函数的函数。递归是我尝试过的一个选项,但想要其他的东西。 谢谢阿里特拉 最佳答案 如果安装了 Teradata 的 XML 服务(从 14.1
我在Teradata 14 中有下表,不允许我自己编写过程和函数,但我可以使用strtok、strtok_split_to_table 等等 id property 1 1234X (Yel),
我是一名优秀的程序员,十分优秀!