ORA-01017: invalid username/password; logon denied

博主Idea启动项目时数据库连接报错,虽网上有诸多方案但无法解决其问题。文中介绍了三种可能情况,包括检查ojdbc8包、out文件夹下jdbc配置文件、设置数据库登录密码忽略大小写等,并分享了自己遇到的问题及解决办法。

Idea启动项目老是报这个错。网上很多解决方案,但是都解决不了我的这个问题,
先说说场景,只有场景相似或者相同才合适。

1、新建数据库用户,pl/sql能够登录用户
2、idea项目启动报错 invalid username/password; logon denied
3、检查jdbc配置文件,账号密码,url都是对的。

两种情况:
1、第一种情况:数据库是12c的,看看是否导入了ojdbc8的包。url是否修改成:
jdbc:oracle:thin:@127.0.0.1:1521:orcl 11G的是1521/orcl。但是我亲测了,12c也支持的。
2、第二种情况:检查out文件夹(maven项目查看target文件夹)下的jdbc配置文件中的账号和密码是否正确。
3、第三种情况:这个数据的问题,从网上看到的,就是即便你的账号密码都是正确的,通过IDE就是连接不上,说是要设置数据登录密码忽略大小写:
sql>alter system set sec_case_sensitive_logon=false;
也许会发现自己的密码和用户名全是小写,或者密码都是数字,不存在这样的问题,但是就是这个命令解决了。原因不明。
执行上面的这个命令会报一个错:不允许从可插入数据库内部执行该操作。解决方案在博客:https://blog.youkuaiyun.com/Esc_Tab_End/article/details/90521382

本人的情况是第二种:因为项目中有两个jdbc配置文件,而out文件夹中的jdbc恰好不是我修改了正确登录密码的jdbc文件。于是把多余的删掉或者把所有jdbc的账号密码都修改正确就行了。

执行`create user`语句创建用户并设置带引号密码后,出现`ORA-01017: invalid username/password;logon denied`错误,可尝试以下解决办法: #### 1. 确认用户名和密码是否正确 检查创建用户时输入的用户名和密码是否存在拼写错误,特别要注意引号的使用。若密码包含特殊字符,在使用时需要用双引号将密码括起来。例如,若创建用户语句如下: ```sql create user yzsdas9 identified by "z86525218" default tablespace docstore temporary tablespace TEMP profile default account unlock; ``` 在登录时,若使用 SQL*Plus 登录,命令如下: ```plaintext sqlplus yzsdas9/"z86525218" ``` #### 2. 检查用户账户状态 确保用户账户处于解锁状态。可以使用以下 SQL 语句检查用户账户状态: ```sql SELECT username, account_status FROM dba_users WHERE username = 'YZSDAS9'; ``` 若账户状态为`LOCKED`,可以使用以下语句解锁账户: ```sql ALTER USER yzsdas9 ACCOUNT UNLOCK; ``` #### 3. 检查 PDB 连接设置 若在多租户环境(PDB)中创建用户,需要确保连接到正确的 PDB。可以使用以下命令连接到指定的 PDB: ```plaintext sqlplus yzsdas9/"z86525218"@pdb_name ``` 其中`pdb_name`是具体的 PDB 名称。 #### 4. 检查 Oracle 客户端配置 若使用远程客户端连接,需要确保远程服务器上安装了对应版本的 Oracle 客户端,并且客户端配置正确。可以通过检查`tnsnames.ora`文件来确认配置信息。例如,`tnsnames.ora`文件中可能包含如下配置: ```plaintext ORCLPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = your_port)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb) ) ) ``` 然后使用以下命令连接: ```plaintext sqlplus yzsdas9/"z86525218"@ORCLPDB ``` #### 5. 分析错误日志 结合错误日志进行系统性排查,查看是否有其他相关错误信息。错误日志通常位于`$ORACLE_BASE/diag/rdbms/<db_unique_name>/<instance_name>/trace`目录下,其中`<db_unique_name>`和`<instance_name>`需要根据实际情况替换。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值