JDBC连接oracle的sysdba权限的用户

JAVA版本:1.8

JDBC连接oracle的jar包:odbc5.jar

  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();开一个实例

需要用到OracleDriver的四个properties:

  user:用户 String

  password:密码 String

  defaultRowPrefetch:从服务器预取的默认行数(默认值为“10”) String (containing integer value) 

  internal_logon:允许您作为sys登录的权限,如sysdba或sysoper

遇到的问题:

  由于在本地测试,所以在命令窗口连接oracle的sysdba时,无论密码是什么都能连上,如果连接不上,老是报用户名/密码的exception,所以重新修改sys的密码后,顺利登录

  alter user sys idenfitied by oracle;

代码:

package com.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class TestDBA {
    public static void main(String[] args){
        connDBA();
    }
    
    //测试用dba权限连接oracle
    public static void connDBA() {
        Connection conn = null;
        try{
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
        Properties conProps = new Properties();
        conProps.put("user","sys");
        conProps.put("password", "oracle");
        conProps.put("defaultRowPrefetch", "15");
        conProps.put("internal_logon", "sysdba");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.111:1521:orcl",conProps);
        System.out.println(conn);
        }catch(Exception e){
            e.printStackTrace();
        }finally{
                try {
                    if(conn!=null) conn.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    }
}

 

posted @ 2019-10-15 17:29  流水1219  阅读(1356)  评论(0)    收藏  举报