java基于odbc连接oracle的实现方法

Java基于ODBC连接Oracle的实现方法

ODBC

ODBC(Open Database Connectivity)即开放数据库连接,是Microsoft为Windows平台上的软件和数据库产生的一种连接规范。该规范要求采用ODBC驱动程序作为中介层,支持一种面向SQL的API,使应用软件能通过ODBC来访问到数据。

ODBC适用于Windows系统中的不同数据库之间的远程数据查询,ODBC驱动将请求传递给ODBC管理器,由它去完成与本地应用程序和远程服务器之间的通信以及数据的转换、处理和返回,然后让ODBC管理器将过程结果返回给客户端。

JDBC-ODBC Bridge

JDBC-ODBC Bridge 是JDK中自带的一个驱动,用于连接数据库源为ODBC的数据库,但是随着Java的发展,该驱动已经不再推荐使用。

JDBC的发展后其发展出另一个产品:Type 4 JDBC驱动(即Java Native Driver),它不需要中间件的参与,能够和数据库直接进行连接,性能得到地很大提升。因此,我们不再推荐使用JDBC-ODBC Bridge。

JDBC与Oracle直接连接

在JDK1.2之后,Java引入了JDBC 2.0,原来的JDBC API变成了JDBC 1.0 API。JDBC 2.0 API是JDBC 1.0 API的扩展,定义了一些新的方法和接口。而在JDBC 3.0中,Oracle特意发布了一个更为优秀的Oracle JDBC驱动程序(大家看下Oracle的安装目录,在jdbc的文件夹下就能找到对应的程序)。总之,如今直接使用JDBC连接Oracle是一个比较好的选择。

Step 1:下载JDBC驱动

在官方网站 Oracle官网下载对应的JDBC驱动,在这里我们以ojdbc6.jar为例。

Step 2:连接Oracle数据库

先创建一个Connection对象,代码如下:

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/orcl", "username", "password");

其中,jdbc:oracle:thin表示使用thin连接方式(比较通用一点,也可以使用oci)。@//localhost:1521/orcl表示连接本地的orcl数据库,用户名和密码分别为username和password。

完整代码示例:

import java.sql.Connection;
import java.sql.DriverManager;

public class OracleJDBC {
    public static void main(String[] args) {
        // JDBC driver
        final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
        // Database URL
        final String DB_URL = "jdbc:oracle:thin:@//localhost:1521/orcl";
        // Database credentials
        final String USER = "username";
        final String PASS = "password";

        Connection conn = null;

        try {
            // Register JDBC driver
            Class.forName(JDBC_DRIVER);
            // Open a connection
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            System.out.println("Connected successfully");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

Step 3:操作数据库

连接成功后,就可以进行数据库的操作了。这里以插入一条记录为例,代码如下:

Statement stmt = null;
String sql = "INSERT INTO EMPLOYEE " +
        "(ID, NAME, AGE) " +
        "VALUES (1, 'Tom', 25)";
try {
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    System.out.println("Inserted record successfully");
} catch (SQLException e) {
    e.printStackTrace();
}

完整示例代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class OracleJDBC {
    public static void main(String[] args) {
        // JDBC driver
        final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
        // 编码方式
        final String ENCODING = "?useUnicode=true&characterEncoding=UTF-8";
        // Database URL
        final String DB_URL = "jdbc:oracle:thin:@//localhost:1521/orcl" + ENCODING;
        // Database credentials
        final String USER = "username";
        final String PASS = "password";

        Connection conn = null;
        Statement stmt = null;

        try {
            // Register JDBC driver
            Class.forName(JDBC_DRIVER);
            // Open a connection
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            System.out.println("Connected successfully");

            // Execute a query
            stmt = conn.createStatement();
            String sql;
            sql = "INSERT INTO EMPLOYEE " +
                    "(ID, NAME, AGE) " +
                    "VALUES (1, 'Tom', 25)";
            stmt.executeUpdate(sql);
            System.out.println("Inserted record successfully");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
}

总结

以上就是Java基于ODBC连接Oracle的实现方法,不仅可以通过JDBC-ODBC Bridge连接,也可以直接连接,推荐直接连接。在操作数据库时,我们需要使用Statement或PreparedStatement对象,通过executeUpdate方法执行SQL语句。通过Connection对象的close()方法关闭数据库连接。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基于odbc连接oracle的实现方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Nginx配合Apache或Tomcat的动静分离基本配置实例

    下面我来详细讲解一下“Nginx配合Apache或Tomcat的动静分离基本配置实例”。 1. 动静分离的概念 动静分离是将访问量比较大的动态资源和访问量比较小的静态资源分开处理,提高网站服务的性能和访问速度,同时减轻服务器的压力。 2. Nginx与Apache或Tomcat结合实现动静分离的基本原理 Nginx作为反向代理服务器,用来处理静态资源的请求,…

    Java 2023年6月15日
    00
  • JAVA心得分享—return语句的用法

    JAVA心得分享—return语句的用法 在Java中,return语句是非常重要的关键字之一。在这篇文章中,我将会详细讲解return语句的用法,以及一些使用return语句的最佳实践。 什么是return语句 Java中的return语句,是用于从当前方法中返回控制权并返回一个值执行方法调用的位置的命令。 返回类型 Java中return语句有两种类…

    Java 2023年5月26日
    00
  • Json读写本地文件实现代码

    下面是关于”Json读写本地文件实现代码”的完整攻略: 什么是JSON JSON是一种轻量级的数据交换格式。它基于JavaScript,但与语言无关。它易于阅读和编写,同时也容易解析和生成。JSON的设计目标是易于使用和理解以及提高网络传输效率。 Json读写本地文件实现代码 本地读写Json文件的操作可以通过Node.js的文件系统模块fs来实现。 读取J…

    Java 2023年5月26日
    00
  • Mybatis超详细讲解构建SQL方法

    “Mybatis超详细讲解构建SQL方法”是一篇关于Mybatis框架中构建SQL方法的详细攻略。该攻略主要介绍了Mybatis框架中构建SQL的方式及其相关技巧。 前置知识 在学习本篇攻略前,需要对以下知识点有一定的了解: Mybatis框架的使用及基本概念 SQL语句的基本语法及特性 Java的基本语法及编程思想 构建SQL方法 在Mybatis框架中,…

    Java 2023年5月19日
    00
  • jackson在springboot中的使用方式-自定义参数转换器

    在Spring Boot中使用Jackson进行序列化和反序列化是很常见的。Jackson是一个非常流行的Java库,提供了高效的JSON序列化和反序列化。在这篇攻略中,我们将学习如何在Spring Boot中使用Jackson的自定义参数转换器。自定义参数转换器的作用是在请求参数与Controller接收参数之间进行转换,以处理来自客户端的任意格式的数据,…

    Java 2023年5月26日
    00
  • SpringBoot2零基础到精通之数据库专项精讲

    SpringBoot2零基础到精通之数据库专项精讲攻略 1. 学习前的准备 在学习SpringBoot2数据库相关的内容之前,需要先掌握Java语言的基本语法以及SpringBoot2的基础知识,同时熟悉数据库的相关知识,包括SQL语句、数据库设计等。 2. 学习内容 2.1 数据库连接 SpringBoot2中常用的数据库连接方式有两种:JDBC和Spri…

    Java 2023年5月20日
    00
  • springboot post接口接受json时,转换为对象时,属性都为null的解决

    当使用 Spring Boot 框架编写 POST 接口用于接收 JSON 数据时,有时候会遇到将 JSON 转换为对象时,属性都为 null 的问题,这可能是由于参数名称或字段名称不匹配导致的。我们可以通过以下步骤来解决这个问题。 第一步:确认参数名称和字段名称是否匹配 确保接口定义的参数名称和 JSON 数据中的字段名称完全相同。如果不同,Spring …

    Java 2023年5月26日
    00
  • 详解Java使用JMH进行基准性能测试

    详解Java使用JMH进行基准性能测试 性能测试对于Java应用程序的开发和优化是至关重要的。在Java中,可以使用JMH框架进行严密的基准测试,以确保在实际生产环境中获得最高的性能和最小的延迟。 介绍JMH框架 JMH是一个专业级的基准测试框架,它可以提供准确的基准测试结果。它提供了多种的方式来测试不同的Java代码片段,包括方法调用、对象实例化、算法等。…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部