关于ecplise和myecplise如何连接oracle数据库问题讲解

ecplise连接数据库

1.导入jar包

针对于11g的oracle版本,在以下目录中找到对应的jar并导入到项目运行环境中

app\oracle\product\11.2.0\dbhome_1\jdbc\lib下的ojdbc6.jar

app\oracle\product\11.2.0\client_1\oui\jlib\classes12.jar

2.新建一个 jdbc类进行如下操作

package com_it_JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.CountDownLatch;

public class JdbcDemo {

    public static void main(String[] args) {

        //定义oracle数据库驱动的类
        String driverclass = "oracle.jdbc.OracleDriver";
        //定义连接oracle的Url
        String url = "jdbc:oracle:thin:@192.168.0.1:1521/orcl" ;
        //登入用户名
        String username = "admin" ;
        //密码
        String password = "root" ;

                Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        String querysql = "select * from person  ";
        try {
            //注册数据库的驱动程序,将类加载到内存中
            Class.forName(driverclass);
            //获得数据库连接
            conn = DriverManager.getConnection(url, username, password);
            //创建sql执行对象
            stmt=conn.createStatement();
            //执行sql语句,返回结果
            stmt.executeQuery(querysql);
            while (rs.next()) {
                String name  = rs.getString("name");
                String age  = rs.getString("age");
                String adress  = rs.getString("adress");
                String phone  = rs.getString("phone");
                System.out.println("姓名"+name  +"年龄"+age +"地址"+adress+"电话"+phone);
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
                try {
                    if (stmt!=null) {
                    stmt.close();
                    }
                    if (conn!=null) {
                    conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }


3.myecplise的jdbc配置

如上所示;

区别在于:URL的格式不同

“`

String url = “jdbc:oracle:thin:@localhost:1521:orcl(sid);

“`

4.几种常见的报错:

1. IO 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186647552)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

解决方法:数据库名的问题,在需要连接的数据库中运行如下语句

select INSTANCE_NAME from v$instance;将sid改为运行的结果即可

2.Io 异常: Invalid connection string format, a valid format is: “host:port:sid”

URL的格式问题:myecplise是如下格式:

jdbc:oracle:thin:@localhost:1521:orcl

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐