SpringBoot连接Oracle数据库报ORA-01017: invalid username/password; logon denied
目录
- 一、报错如下图:
- 二、lz的环境版本
- 三、解决方式
- 四、lz报错的原因
一、报错如下图:
问题描述
lz用sqlplus或者navicat客户端连接oracle数据库正常连接,但是在项目中运行一直报错 invalid username/password; logon denied
二、lz的环境版本
- oracle19c
- jdk1.8
- ojdbc8.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包链接
oracle版本 | Oracle JDBC驱动 | 适用JDK | ||||
---|---|---|---|---|---|---|
Oracle 8i | classes111.zip | JDK 1.1 | ||||
classes12.zip | JDK 1.2 | |||||
Oracle 9i | classes111.jar | JDK 1.1 | ||||
classes12.jar | JDK 1.2 和 JDK 1.3 | |||||
ojdbc14.jar | JDK 1.4 | |||||
Oracle 10g | classes12.jar | JDK 1.2 和 JDK 1.3 | ||||
ojdbc14.jar | JDK 1.4 和 JDK 5.0 | |||||
Oracle 11g | ojdbc5.jar | JDK 5.0 | ||||
ojdbc6.jar | JDK 6.0 | |||||
Oracle 12c | ojdbc6.jar | JDK 6.0 | ||||
ojdbc7.jar | JDK 7.0 和 JDK 8.0 | |||||
ojdbc8.jar | JDK 8.0 | |||||
Oracle 18c | ojdbc8.jar | JDK 8.0 | ||||
Oracle 19c | ojdbc8.jar | JDK 8.0 | ||||
Ojdbc10.jar | JDK10 |
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为orcl
database.url=jdbc:oracle:thin:@192.168.1.1:1521:orcl
- 第二种
//监听服务名,表示服务名为test
database.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混淆使用导致了该错误。
SpringBoot连接Oracle数据库报ORA-01017: invalid username/password; logon denied相关推荐
- Oracle 登录时错误: ORA-01017: invalid username/password; logon denied
2019独角兽企业重金招聘Python工程师标准>>> 现象: 本地执行:sqlplus sys/pwd as sysdba 正常登录: 通过jdbc登录: user = " ...
- oracle11g数据库登录01017,sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误...
今天用scott用户登录Oracle数据库时,竟然出现了ORA-01017: invalid username/password; logon denied错误,原以为是因为我的scott用户没有解锁 ...
- spring报错:ORA-01017: invalid username/password; logon denied
今天在整合spring和mybatis时进行测试,发现sql查询时连不上数据库,异常日志如下: org.mybatis.spring.MyBatisSystemException: nested ex ...
- ora-01017 invalid username/password logon denied
ora-01017 invalid username/password logon denied pl/sql可以登录,java程序就是不行:后来换了一个用户,就可以登录: 后来把用户的密码重置了一下 ...
- sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误
SQL> conn dell 输入口令: ERROR: ORA-01017: invalid username/password; logon deniedSQL> SQL> SQL ...
- 解決scott 用戶登錄錯誤: invalid username/password;logon denied
这个错误的根本原因是Oracle11g数据库中的用户名和密码是区分大小写的,所以当使用小写字母无法登陆的时候,试试使用全大写.当然在登录前,记得先解锁. 在sys/system用户下: conn sy ...
- ORA-01017: invalid username/password; logon denied ORA-02063: 紧接着line(源于DBLINKN~~~)
密码用双引号引起来重行创建一下(亲自测试过) create database link TEST_DBLINK_ONE connect to APP identified by "A ...
- 连接oracle数据库报错:ORA-12505
连接oracle数据库报错:ORA-12505 今天在使用程序连接oracle数据库时本来很简单的填写url,用户名和密码,测试连接提示失败.和pl_sql 对比了下写的也没毛病,有图为证: 看了下数 ...
- Springboot连接mysql数据库报错
Springboot连接mysql数据库报错java.sql.SQLException: Access denied for user ''@'localhost' (using password: ...
最新文章
- 关于学习Python的一点学习总结(38)
- 运筹学_单纯形表法_0(matlab实现)
- vlc源码分析(五) 流媒体的音视频同步
- 潭州课堂25班:Ph201805201 django 项目 第三十九课 后台 文章发布,图片上传到 FastDFS后端实现 七牛云讲解(课堂笔记)...
- LeetCode 30. 串联所有单词的子串(字符串哈希)
- 服务器好玩的项目_GitHub 上有什么好玩的项目?(附地址)
- 最近总结——关于自己的基础问题
- wordpress php 链接,WordPress中获取页面链接和标题的相关PHP函数用法解析
- (三) 初识XMAL
- android studio快捷键与Eclipse快捷键对比-没有之一
- m语言常用函数和命令
- SpringBoot java串口操作(rxtx)
- 给学校开放计算机建议书30字,学生给学校建议书
- No query specified
- pycharm——python调用dubbo接口返回句柄无效(Connection dropped:socket connection error:句柄无效)
- 投资分析研究:天然气分布式能源项目
- PapeDeading:Deep into Regularity: A Simple but Effective Method for Chinese Named Entity Recognition
- 树莓派4通过华为ME909S 4G模块连接蜂窝网(非PPP)
- 《红楼雷话》全文,很好很解气
- Redis Module 模块组件
热门文章
- Google搜索解析规则-更准确的使用谷歌搜索引擎获取到自己想要的内容
- Intellij Idea 团队协同开发必备配置
- 矩阵的Frobenius范数及其经典例题求导
- java毕业设计“传情旧物”网站mybatis+源码+调试部署+系统+数据库+lw
- http错误403 禁止_什么是403禁止的错误(以及如何解决)?
- tensorflow 读取cifar_tensorflow cifar10读取数据get stu
- C++-在大端和小端-大头小头-BigEndian-LittleEndian-切换
- js 对象属性过滤方法
- 简述计算机科学研究目的,全国2004年10月高等教育自学考试学前教育科学研究与论文写作试题...
- window.history.go(-1)和window.location.go(-1)区别