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