JDBC连接Oracle数据库

来源:互联网 发布:智尚网络 编辑:程序博客网 时间:2024/06/11 19:58

连接步骤

1,注册驱动

DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

2,获取连接

Connection conn = null;conn = DriverManager.getConnection(url, user, password);

3,设置语句

1)简单语句

String sql = "SELECT * FROM *****";


2)存储过程

String sql = "{call Procedure_name(?,?,?)}"
 

   注:若有参数,需要使用“?”占位符

3)函数语句

String sql= "SELECT MAX(COL_NAME) FROM T_NAME"
   

        同简单语句的使用。注:这里可以为使用函数的列起个名字,在sql语句中可以直接跟在函数后面。不用加引号,所以也不会引起符号冲突。 如:

String sql= "SELECT MAX(COL_NAME) 最大结果 FROM T_NAME"

4,执行语句

1)有返回结果的操作

   ResultSet res = null;   Statement stat = null;   res = stat.executeQuery(sql);

2)增删改无返回结果的操作

   Statement stat = null;   int i = stat.executeUpdate(sql);

5,返回结果

1)查询语句的结果

ResultSet返回的是类似数据库中的表。对表中数据分析即可

2)执行非查询语句返回的结果

executeUpdate()方法返回的结果是个int类型的,返回执行结果受影响的条数。



连接问题

上述步骤连接Oracle10g数据库不会出现问题。如果是连接Oracle11g就会出现问题。

错误信息:Unhandled exception type SQLException


 问题原因就是Oracle11g软件更新了连接方法。url 中在Oracle 10g中是localhost,11g 中本地连接要用计算机名称。

 Oracle 10 g URL代码(本地):

jdbc:oracle:thin:@localhost:1521:oracle_name

 Oracle 11g URL代码(本地):

jdbc:oracle:thin:@pc_name:1521:oracle_name

 如果通过ip连接的话,pc_name换成ip就行拉。



:查询oracle_name

 安装Oracle的过程会出现让我们自定义数据库的名称,我就是忘了名字啦。当初有种想重装的冲动啊。。不过还好,能在安装目录下查到。省大事儿啦。所以说嘛,以后安装软件的时候,尤其是数据库有名字的话一定要记住。


 以Oracle11g为例:

product --> 11.22.0 --> dbhome_1 --> NETWORK --> ADMIN --> tnsnames.ora



9 0
原创粉丝点击