1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SpringBoot连接Oracle数据库报ORA-01017: invalid username/password; logon denied

SpringBoot连接Oracle数据库报ORA-01017: invalid username/password; logon denied

时间:2021-07-05 23:11:29

相关推荐

SpringBoot连接Oracle数据库报ORA-01017: invalid username/password; logon denied

目录

一、报错如下图:二、lz的环境版本三、解决方式四、lz报错的原因

一、报错如下图:

问题描述

lz用sqlplus或者navicat客户端连接oracle数据库正常连接,但是在项目中运行一直报错 invalid username/password; logon denied

二、lz的环境版本

oracle19cjdk1.8ojdbc8.jar

三、解决方式

1、查看数据源配置信息是否用误,一定要仔细检查,如果都没有错,看第2步。

spring:datasource:druid:# 数据源基本配置driver-class-name: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@192.168.1.1:1521:testusername: xzpassword: xz123456#Oracle需要打开注释validation-query: SELECT 1 FROM DUAL

2、查看oracle依赖的驱动包,以下是oracle和ojdbc jar驱动包版本对应关系,版本对应后还是报错,请看第3部。

ojdbc(6、8、14) jar包链接

3、网上查找资料,有博客说修改用户的密码即可解决报错,lz尝试后,依然报错,所以密码又改回了xz123456,以下是登录navicat客户端后,修改oracle用户名密码的命令

alter user xz identified by xz123;//修改用户名xz的密码为xz123

4、网上查找资料,有博客说可能是用户的权限不够,lz修改用户权限后依然报错,以下是登录navicat客户端后,修改oracle用户权限的命令

#给xz用户授权,connect,resource,dba 分别三种不同操作权限grant connect,resource,dba to xz

5、因此lz特意写了一个测试数据库连接的测试类,debug运行后,建立数据库连接行还是报 invalid username/password; logon denied错误,说明用户名和密码是没有问题的,代码如下:

package com.rf.springcloud.cloudsystem.modules;import java.sql.Connection;import java.sql.DriverManager;/*** @description:* @author: xz*/public class Test {public static void main(String[] args) {try {//装载驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");//建立数据库连接Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.1:1521:1521:test","xz","xz123456");System.out.println("11");//释放数据库资源,注意顺序con.close();}catch (Exception e) {e.printStackTrace(System.out);}}}

6、此方式解决了lz的报错问题,首先了解下oracle数据库url的写法有两种

第一种

//监听sid服务,表示sid为orcldatabase.url=jdbc:oracle:thin:@192.168.1.1:1521:orcl

第二种

//监听服务名,表示服务名为testdatabase.url=jdbc:oracle:thin:@171.xxx.96.xx:xxxx/test

所以发现是自己的sid写错导致出现这个错误,把服务名当做了sid,把test的 “ : ” 改为 “ / ” 访问正常。以下是正常的数据源配置

spring:datasource:druid:# 数据源基本配置driver-class-name: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@192.168.1.1:1521/testusername: xzpassword: xz123456#Oracle需要打开注释validation-query: SELECT 1 FROM DUAL

四、lz报错的原因

服务名和sid混淆使用导致了该错误。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。