记录一下
遇到的问题
ORA-28040 没有匹配的认证协议
在
$ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora
里面加上SQLNET.ALLOWED_LOGON_VERSION=8
密码正确却提示用户口令不对
此时只需要alter user_name identified by passwd ;修改一遍即可了。
其他问题(未遇到) 参考 https://bbs.csdn.net/topics/392200184
12c 不兼容太低版本的plsql
在sqlnet.ora文件新增
SQLNET.ALLOWED_LOGON_VERSION_SERVER=9
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=9
ORA-01017: invalid username/password; logon denied
在sqlnet.ora文件新增了SQLNET.ALLOWED_LOGON_VERSION_SERVER=n
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=n
后密码虽然支持n以上版本,但是此时由于密码规则事先写入,导致低版本客户端无法识别。
此时只需要alter user_name identified by passwd ;修改一遍即可了。
连接配置
username=manager
password=123
url=jdbc:oracle:thin:@//127.0.0.1:1521/system (jdbc:oracle:thin:@//{ip}:{端口(默认1521)}/{实例名})
driverClassName=oracle.jdbc.driver.OracleDriver
SELECT INSTANCE_NAME FROM V $INSTANCE; 查看实例名
SELECT NAME FROM V$DATABASE; 查看数据库名
连接渠道jar包在D:\Oracle\one\product\12.2.0\dbhome_1\jdbc\lib 选的ojdbc8
public class DBUtil {private static DBUtil dbUtil;private static DataSource dataSource;static {Properties properties = new Properties();try {String path = DBUtil.class.getClassLoader().getResource("db.properties").getPath();System.err.println(path);properties.load(new FileInputStream(new File(path)));dataSource= DruidDataSourceFactory.createDataSource(properties);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}public static DBUtil getInstance(){if (dbUtil==null) dbUtil=new DBUtil();return dbUtil;}public DataSource getDataSource(){return dataSource;}
}