gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:40:25 27 4
gpt4 key购买 nike

我正在编写以下代码,用于使用 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();
}
}

最佳答案

Oracle 为其数据库提供了四种类型的驱动程序,但我只列举您询问的两种。

OCI司机是 type 2 JDBC 驱动程序并使用 native 代码连接到数据库。因此,它只是具有可用 native Oracle 驱动程序的平台上的一个选项,它不是“纯”Java 实现。

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

关于java - java和oracle XE之间的OCI和THIN驱动连接与数据源连接有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21711085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com