设为首页 加入收藏

TOP

关于ecplise和myecplise如何连接oracle数据库问题讲解
2018-01-13 06:07:02 】 浏览:268
Tags:关于 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语句
            rs = stmt.executeQuery(sql);
            //调用getMetaData方法,从而获取ResultSetMetaData接口中的方法
            //即获取此 ResultSet 对象的列的编号、类型和属性。
            //获得当前表的元数据:表名,列明,列的数量
            ResultSetMetaData rsm= rs.getMetaData();
            //获得列的数量
            Integer col = rsm.getColumnCount();
            System.out.println("列数:"+col);
            ArrayList<String> list=new ArrayList<>();
            for (int i=1;i<=col;i++) {
                //获得列名
                String cs= rsm.getColumnName(i);
                list.add(cs);
            }
            //获得列所对应的数据
            while (rs.next()) {
                for (String cname : list) {
                    String val = rs.getString(cname);
                    System.out.print((cname +":"+val)+"      ");
                }
                System.out.println();
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally{
                try {
                    if (rs!=null) {
                        rs.close();
                    }
                    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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇oracle sqluldr2工具使用方法介绍 下一篇windows 2008上启用防火墙后Oracl..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目