连接oracle无匹配协议

用eclipse测试Oracle的连接使用,代码如下:

package oracle1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class test {

 
 
 public void testOracle()
 {
     Connection con = null;// 创建一个数据库连接
     PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
     ResultSet result = null;// 创建一个结果集对象
     try
     {
         Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
         System.out.println("开始尝试连接数据库!");
         String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
         String user = "SYS";// 用户名,系统默认的账户名
         String password = "root";// 你安装时选设置的密码
         con = DriverManager.getConnection(url, user, password);// 获取连接
         System.out.println("连接成功!");
     }
     catch (Exception e)
     {
         e.printStackTrace();
     }
     finally
     {
         try
         {
             // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
             // 注意关闭的顺序,最后使用的最先关闭
             if (result != null)
                 result.close();
             if (pre != null)
                 pre.close();
             if (con != null)
                 con.close();
             System.out.println("数据库连接已关闭!");
         }
         catch (Exception e)
         {
             e.printStackTrace();
         }
     }
 }
 public static void main(String[] args) {
  
  // TODO Auto-generated method stub
  test test = new test();
  test.testOracle();
 }

}

出现的错误如下:

解决办法,找到一个名为sqlnet.ora的文件,在文件的末尾加上SQLNET.ALLOWED_LOGON_VERSION=8

问题即可解决

 

posted @ 2018-08-07 12:21  H-Designer  阅读(653)  评论(0编辑  收藏  举报