您的位置:首页 > 数据库 > Oracle

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

2013-03-12 11:02 656 查看
jdbc:oracle:thin:@<server>[:<1521>]:<database_name>

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一定是数据库实例名,而不是服务名

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: