jdbc测试oracle数据库的连接是否成功的java代码

jdbc:oracle:thin:@[:<1521>]:

server:数据库安装的服务器的IP地址,本地用127.0.0.1 或者 localhost

database_name:数据库实例名字,不是服务名字。

 

如何查询数据库实例名?

用sysdba用户以sysdba身份登录,执行下面的sql语句, select instance_name from  V$instance;查询到的

instance_name就是数据库实例名字。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Conn {

 public static Connection getConn() {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";

    String username = "orcl_dev_user";
    String pwd = "admin";

    Connection conn = null;
    try {
     Class.forName(driver);
     conn = DriverManager.getConnection(url, username, pwd);
    } catch (ClassNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (SQLException e) {
     // TODO Auto-generated catch block

     e.printStackTrace();
    }
    return conn;
   }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
   
    //一种是:System.out.println(Conn.getConn());

   //另一种是:
    try {
       System.out.println(Conn.getConn().isClosed());
       System.out.println("如果成功打印false 失败就输出true");
       }catch (SQLException e) {
       e.printStackTrace();
       }

    }
    }

 

测试上面代码时,需要加入ojdbc6.jar(这是与jdk6相匹配的,ojdbc5.jar是与jdk1.5相匹配的)ojdbc6.jar在 product\11.2.0\dbhome_1\jdbc\lib 路径下。

 

测试时,如果控制台打印出false就是成功连接。

如果listener does not currently know of SID given in connect descriptor 有这样的错误。

先用pl/sql 客户端检查是否能登录到数据库,如果能,那么一定是url地址写错了,请仔细检查,注意database_name一定是数据库实例名,而不是服务名

 

你可能感兴趣的:(jdbc测试oracle数据库的连接是否成功的java代码)