zoukankan      html  css  js  c++  java
  • Java中通过JDBC远程连接Oracle数据库

    通过jdbc连接数据库,拢共分三步:

    第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path;

    第二步:去本地oracle文件夹下找到“TNSNAMES.ORA”文件,打开找到对应数据库的连接字符串,作为jdbc的连接字符串;

    第三步:写代码,通过jdbc连接数据库。

    从网上找了段代码,做了下修改。以下为查询数据库表中所有字段及字段值类型,遍历数据库表中所有数据(其中xxx均为需要替换的信息):

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    
    public class ConnectDB {
        public static void main(String[] args) {
            connectDB();
        }
    
        public static void connectDB() {
            Connection con = null;
            PreparedStatement pre = null;
            ResultSet results = null;
            ResultSetMetaData resultSetMetaData = null;
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                System.out.println("开始尝试连接数据库!");
                // 必须用oracle文件夹下"tnsnames.ora"配置文件中配置的连接字符串进行远程连接数据库
                String url = "jdbc:oracle:" + "thin:@(DESCRIPTION =" + "(ADDRESS_LIST ="
                        + "(ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = xxx))" + ")" + "(CONNECT_DATA ="
                        + "(SERVICE_NAME = xxx)" + ")" + ")";
                String user = "xxx";
                String password = "xxx";
                con = DriverManager.getConnection(url, user, password);
                System.out.println("连接成功!");
                String sql = "select * from xxx";
                pre = con.prepareStatement(sql);
                System.out.println("开始执行SQL语句!");
                results = pre.executeQuery();
                resultSetMetaData = results.getMetaData();
                int columnCount = resultSetMetaData.getColumnCount();
                // 获取数据库表所有字段名及字段值类型
                for (int i = 1; i <= columnCount; i++) {
                    System.out.println(resultSetMetaData.getColumnName(i) + ":" + resultSetMetaData.getColumnTypeName(i));
                }
                while (results.next()) {
                    for (int i = 1; i <= columnCount; i++) {
                        System.out.print(results.getString(i)+"		");
                    }
                    System.out.println();
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (results != null)
                        results.close();
                    if (pre != null)
                        pre.close();
                    if (con != null)
                        con.close();
                    System.out.println("数据库连接已关闭!");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    js 复杂研究
    js 页面 保持状态 的方法
    C# 向上取整数
    js 获取dom 为null 测试
    net core 下 接受文件 测试
    layui 源码解读(部分)
    js 定时器
    js addEventListener
    C# 获得对象的命名空间 ?.
    修改maven的默认jdk版本
  • 原文地址:https://www.cnblogs.com/LanTianYou/p/5420889.html
Copyright © 2011-2022 走看看