如何使用JDBC连接oracle数据库

如何使用JDBC连接oracle数据库,第1张

楼主您好

1.在动手先代码之前,我们先把环境配置妥善。先从安装了Oracle的数据库服务器中,找到

Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件拷贝到WEB发布服务器的某个目录。假设就直接放在C:\根目录下吧,然后把该路径添加到„系统--高级--环境变量‟

中变量名为„CLASSPATH‟的值中,如:

D:\Program Files\SQLLIB\java\db2java.zipD:\Program

Files\SQLLIB\java\runtime.zipc:classes12.jar

也就是让java能够找到这个包。

2

1.注册加载驱动

驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"

Class.forName("驱动类名")

3

2.获得连接

数据库地址: URL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"

Connection conn = DriverManager.getConnection(数据库地址,用户名,密码)

System.out.println("连接成功")

4

3.创建Statement对象

Statement

类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的

createStatement()方法可以创建一个Statement对象。例如:Statement statament =

connection.createStatement()具体示例创建Statement对象

Statement statamentMySQL =connectMySQL.createStatement()

S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;

S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。

S3、打开Oracle的各项服务,并在Oracle中建一张表。

S4、编写MyEclipse与Oracle的连接程序:

[cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.Statement

import java.sql.* 

public class JDBC_Test {

//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库

//1521为连接的端口号

private static String url="jdbc:oracle:thin:@localhost:1521:orcl"

//system为登陆oracle数据库的用户名

private static String user="system"

//manager为用户名system的密码

private static String password="manager"

public static Connection conn

public static PreparedStatement ps

public static ResultSet rs

public static Statement st 

//连接数据库的方法

public void getConnection(){

try {

//初始化驱动包

Class.forName("oracle.jdbc.driver.OracleDriver")

//根据数据库连接字符,名称,密码给conn赋值

conn=DriverManager.getConnection(url, user, password)

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace()

}

}

//测试能否与oracle数据库连接成功

public static void main(String[] args) {

JDBC_Test basedao=new JDBC_Test()

basedao.getConnection()

if(conn==null){

System.out.println("与oracle数据库连接失败!")

}else{

System.out.println("与oracle数据库连接成功!")

}

}

}

</SPAN>

import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.Statement

import java.sql.* 

public class JDBC_Test {

//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库

//1521为连接的端口号

private static String url="jdbc:oracle:thin:@localhost:1521:orcl"

//system为登陆oracle数据库的用户名

private static String user="system"

//manager为用户名system的密码

private static String password="manager"

public static Connection conn

public static PreparedStatement ps

public static ResultSet rs

public static Statement st 

//连接数据库的方法

public void getConnection(){

try {

//初始化驱动包

Class.forName("oracle.jdbc.driver.OracleDriver")

//根据数据库连接字符,名称,密码给conn赋值

conn=DriverManager.getConnection(url, user, password)

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace()

}

}

//测试能否与oracle数据库连接成功

public static void main(String[] args) {

JDBC_Test basedao=new JDBC_Test()

basedao.getConnection()

if(conn==null){

System.out.println("与oracle数据库连接失败!")

}else{

System.out.println("与oracle数据库连接成功!")

}

}

}

S5、如果上述的连接已经建立,就可以利用JDBC中的Java API对数据库进行 *** 作了,具体的查询,插入,删除,更新 *** 作如下:

[cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">代码转载自:http://blog.csdn.net/cxwen78/article/details/6863696     

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class JDBC_Test {

// 创建静态全局变量

static Connection conn

static Statement st

public static void main(String[] args) {

insert()   //插入添加记录

update()   //更新记录数据

delete()   //删除记录

query()    //查询记录并显示

}

/* 插入数据记录,并输出插入的数据记录数*/

public static void insert() {

conn = getConnection() // 首先要获取连接,即连接到数据库

try {

String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"

+ " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')"  // 插入数据的sql语句

st = (Statement) conn.createStatement()    // 创建用于执行静态sql语句的Statement对象

int count = st.executeUpdate(sql)  // 执行插入 *** 作的sql语句,并返回插入数据的个数

System.out.println("向staff表中插入 " + count + " 条数据") //输出插入 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("插入数据失败" + e.getMessage())

}

}

/* 更新符合要求的记录,并返回更新的记录数目*/

public static void update() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "update staff set wage='2200' where name = 'lucy'"// 更新数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

int count = st.executeUpdate(sql)// 执行更新 *** 作的sql语句,返回更新数据的个数

System.out.println("staff表中更新 " + count + " 条数据")      //输出更新 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("更新数据失败")

}

}

/* 查询数据库,输出符合要求的记录的情况*/

public static void query() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "select * from staff"     // 查询数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

ResultSet rs = st.executeQuery(sql)    //执行sql查询语句,返回查询数据的结果集

System.out.println("最后的查询结果为:")

while (rs.next()) { // 判断是否还有下一个数据

// 根据字段名获取相应的值

String name = rs.getString("name")

int age = rs.getInt("age")

String sex = rs.getString("sex")

String address = rs.getString("address")

String depart = rs.getString("depart")

String worklen = rs.getString("worklen")

String wage = rs.getString("wage")

//输出查到的记录的各个字段的值

System.out.println(name + " " + age + " " + sex + " " + address

+ " " + depart + " " + worklen + " " + wage)

}

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("查询数据失败")

}

}

/* 删除符合要求的记录,输出情况*/

public static void delete() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "delete from staff  where name = 'lili'"// 删除数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

int count = st.executeUpdate(sql)// 执行sql删除语句,返回删除数据的数量

System.out.println("staff表中删除 " + count + " 条数据\n")    //输出删除 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("删除数据失败")

}

}

/* 获取数据库连接的函数*/

public static Connection getConnection() {

Connection con = null  //创建用于连接数据库的Connection对象

try {

Class.forName("com.mysql.jdbc.Driver")// 加载Mysql数据驱动

con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/myuser", "root", "root")// 创建数据连接

} catch (Exception e) {

System.out.println("数据库连接失败" + e.getMessage())

}

return con //返回所建立的数据库连接

}

}

</SPAN> 

这么写是服务名:

jdbc:oracle:thin:@192.168.0.10:1521/eduCode2013DB

这么写是SID

jdbc:oracle:thin:@192.168.0.10:1521:eduCode2013DB

你要确认一下。

2. 你从sqlplus 能登录远程的数据库吗?如果不能的话,那么可能是网络问题或者服务器的数据库问题或者是服务器上的防火墙问题。要区别对待。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9893749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存