前言

莫名其妙的在使用jdbc 连接oracle 数据库时,使用system 登录数据库没有任何异常,一旦使用sys用户登录就会连接异常,在此记录一下异常内容以及异常处理方式。


文章目录

  • 前言
  • 异常
  • 解决
  • Navicat 使用 sys 连接


异常

Exception in thread "main" java.sql.SQLException: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

这个异常也很容易理解,sys 应该时使用 sysDBA 或者 sysOper方式连接。

解决

jdbc标准中没有提供这个连接选项,所以就只能在官方网站上查询解决办法。
解决方法也比较简单,就是将登录的用户sys 改为 sys as sysdba.

datasource:
  username: sys as sysdba

Navicat 使用 sys 连接

在连接配置的界面中,选择高级选项卡,当中的角色,选择为SYSDBA 即可正常连接。