oracle-创建工具类连接Oracle数据库时报错

问题描述

创建工具类连接Oracle数据库时报错

属性文件:db.properties
jdbc.driver = oracle.jdbc.OracleDriver
jdbc.url = jdbc:oracle:thin:@localhost:1521:orcl
jdbc.user = c##saturn
jdbc.password = saturn

连接数据库的工具类:DBUtility.java
import java.io.IOException;
import java.sql.*;
import java.util.Properties;

public class DBUtility {
private static Properties properties = new Properties();
private static String driver = null;
private static String url = null;
private static String user = null;
private static String password = null;

static {
    try {
        properties.load(DBUtility.class.getClassLoader().getResourceAsStream("TestDBUtility/properties/db.properties"));
        driver = properties.getProperty("jdbc.driver");
        url = properties.getProperty("jdbc.url");
        user = properties.getProperty("jdbc.user");
        password = properties.getProperty("jdbc.password");

        Class.forName(driver);

    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

public static Connection openConnection() throws SQLException {

    return DriverManager.getConnection(url, user, password);
}

public static void closeConnection(Connection con) {
    try {
        if(con != null) {
            con.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

}

EmpDAO.java

import java.sql.*;

public class EmpDAO {

public static void main(String[] args) {

    new EmpDAO().findAll();
}

public void findAll() {

    Connection con = null;
    Statement stat = null;
    ResultSet rs = null;

    try {
        con = DBUtility.openConnection();
        stat = con.createStatement();
        rs = stat.executeQuery("SELECT empno, ename, sal, hiredate FROM emp");

        while(rs.next()) {
            System.out.println(rs.getInt("empno") + "," + rs.getString("ename") + "," + rs.getDouble("sal") + "," + rs.getDate("hiredate"));
        }

    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        try {
            if(rs != null) {
                rs.close();
            }
            if(stat != null) {
                stat.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        DBUtility.closeConnection(con);
    }
}

}

运行时报错:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class DBUtility
at EmpDAO.findAll(EmpDAO.java:39)
at EmpDAO.main(EmpDAO.java:7)

解决方案

运行时报错,可以单步调试一下看看具体是哪一句报错了。

时间: 2024-10-25 17:46:30

oracle-创建工具类连接Oracle数据库时报错的相关文章

oracle数据库-oracle 创建shared dblink连接不成功

问题描述 oracle 创建shared dblink连接不成功 oracle 创建shared dblink能创建成功,当是连接不成功.求高手指教

mybatis 批量插入Oracle时,当插入clob类型时报错

问题描述 mybatis 批量插入Oracle时,当插入clob类型时报错 mybatis 批量插入时,当插入clob类型时报错,ORA-01461:仅能绑定要插入LONG列的LONG值.请问怎么解决. po中是字段suo是String类型. 解决方案

图片-orale导出数据库时报错12154

问题描述 orale导出数据库时报错12154 解决方案 tns错了,db_name未找到,你可以用tnsping db_name 测试一下 解决方案二: 你用的oracle 11g 的exp你到11g目录下面看下 tnsnames.ora 的配置是否有 db_name的配置 解决方案三: 如果是本机的话,把@orcl去掉: 如果不是,运行netca,添加连接标示符. 或者使用 @ip:端口号:servicename 的方式代替@orcl 解决方案四: http://www.linuxidc.c

sqlserver2008迁移-sql server2008数据导进mysql数据库时报错

问题描述 sql server2008数据导进mysql数据库时报错 我使用的是navicat for mysql工具导入:首先选择导入向导-->选择ODBC导入类型--->选择s数据源:sql server Native client for 10.0-->输入服务器名称.用户名.密码.数据库.点击测试连接时,显示链接成功.最后点确定时报错了:无法打开文件provider=sqlncli10........;server spn="":这个错误 怎么解决? 解决方案

sqlite-在更新和删除SQLite数据库时报错NullPointerException

问题描述 在更新和删除SQLite数据库时报错NullPointerException 我的Activity首先打开了数据库. private DBAdapter dbAdepter; dbAdepter = new DBAdapter(this); dbAdepter.open(); 然后更新操作如下: public class Heimingdan_Alter extends Activity { private DBAdapter dbAdepter; private EditText e

mysql的Workbench导出数据库时报错,,,求解答

问题描述 mysql的Workbench导出数据库时报错,,,求解答 我的电脑 用户目录名字是中文 导致导入导出出错,,,就是想问下,能怎么解决(在不重装系统的前提下) 解决方案 导入导出不成功的问题我碰到过,后来我是用Navicat Premium这个传输工具解决的,里面有很多种格式可转换,但并不是每一种都能导出成功. 100%能成功的经验是: 1.先把你要导出的表数据导出到一个xml格式的文件: 2.再把这个xml文件导入到目的表,导出时有点要注意的是:在提示你选择"表示一个表行的标签&qu

spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错

问题描述 spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错 Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YE

连接DM数据库报错,在线等

问题描述 连接DM数据库报错,在线等 错误信息: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 374454154 at dm.jdbc.dbaccess.DmMsg.getInt(DmMsg.java:155) at dm.jdbc.driver.DmdbCSI._$8394(DmdbCSI.java:248) at dm.jdbc.driver.DmdbCSI.(DmdbCSI.java:1

备份和收缩数据库时报错

问题描述 备份和收缩数据库时报错 SQL Server 2008 R2 ,最近还原了一个200G的数据库到了服务器上,对数据库表做了清理, 现在想收缩数据库,备份数据库,都遇到这个报错,'等待用于页 (1:669298),数据库 ID 10 的缓冲区闩锁类型 3 时发生超时.' 各位大神,给个指点吧