小编典典

OCI和THIN驱动程序连接与java和oracle XE之间的数据源连接有什么区别?

java

我正在使用以下3种方式(OCI,THIN和数据源)编写以下代码,用于Java和Oracle 10g
XE之间的连接,该代码已成功运行,但不知道THIN和OCI与数据源连接之间的区别。

1-

public static void main (String args[]) throws SQLException
 {
  OracleDataSource ods = new OracleDataSource();
  ods.setURL("jdbc:oracle:thin:hr/hr@localhost:1521/XE");
  Connection con = ods.getConnection();
  System.out.println("Connected");
  con.close();
 }

2

public static void main(String args[])
     {
      try
      {
       // load oracle driver
      Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Thin driver
      Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
      System.out.println("Connected Successfully To Oracle");
      con.close();
      }
      catch(Exception ex)
      {
        ex.printStackTrace();
      }
 }

3

public static void main(String args[])
     {
      try
      {
       // load oracle driver
      Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Native-API (OCI) driver
      Connection con = DriverManager.getConnection("jdbc:oracle:oci:@","hr","hr" );
      System.out.println("Connected Successfully To Oracle using OCI driver");
      con.close();
      }
      catch(Exception ex)
      {
        ex.printStackTrace();
      }
 }

阅读 215

收藏
2020-11-13

共1个答案

小编典典

Oracle为它们的数据库提供了四种类型的驱动程序,但是我仅列举您所问的两种。

所述OCI驱动器是2型
JDBC驱动器和使用本地代码来连接到数据库。因此,在具有本机Oracle驱动程序可用的平台上,它只是一个选择,而不是“纯”的Java实现。

Oracle的JDBC
Thin驱动程序是使用Java套接字直接连接到Oracle的4类 JDBC驱动程序。它直接实现了Oracle的SQL * Net TCP / IP协议。因为它是100%Java,所以它是平台无关的,也可以从Applet运行。(不是你应该)

2020-11-13