在java中链接oracle数据库通常有两种方式:一种是非常古老的方式:jdbc-odbc桥连接的方式,它只能本地访问数据库;另一种是jdbc链接方式,可以远程连接数据库。下面详细的介绍一下他们的链接方式:
1、jdbc-odbc的桥连接方式
//1、加载驱动 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //2、得到链接 Connection ct=DriverManager.getConnection("jdbc:odbc:OracleSource", "scott", "liujiyu"); //3、从下面开始和sql sever一样 Statement sm=ct.createStatement(); ResultSet rs=sm.executeQuery("select * from emp"); while(rs.next()) { //显示查询的内容 System.out.println("用户名:"+rs.getString(2)); } //关闭资源 rs.close(); sm.close(); ct.close();
在这里需要注意的是jdbc-odbc桥连接方式的驱动是jdk自带的驱动,但是由于jdk1.8以上的版本为包含该驱动,因此在jdk1.8下采用jdbc-odbc桥连接方式会报错。而在低版本的jdk下可以运行。
2、jdbc链接方式
//使用jdbc方式连接数据库
//1、加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2、得到链接
Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "liujiyu");
//localhost表示安装oracle 的ip地址,1521表示oracle 的端口号,ORCL表示的是数据库实例名
//3、从下面开始和sql sever一样
Statement sm=ct.createStatement();//创建sql语句的statement类的实例
ResultSet rs=sm.executeQuery("select * from emp");//结构类似于一张数据表
while(rs.next())
{
//显示查询的内容
System.out.println("用户名:"+rs.getString(2)+" "+"sal:"+rs.getFloat(6));//获取数据表当前行的指定列的值,用String 表示
}
//关闭资源
rs.close();
sm.close();
ct.close();
在这里需要注意的是采用jdbc放肆连接数据库需要采用数据库专业的驱动包,我采用的是oracle11g版本的,他的包是在oracle安装路径下的jdbc/lib/ojdbc6.jar。只需要在你的项目当中添加这个额外的包即可。
浙公网安备 33010602011771号