一个JDBC示例,向您展示如何使用JDBC驱动程序连接到Oracle数据库。
经过测试:
- Java 8
- Oracle数据库19c
- 适用于Java 8的Oracle JDBC驱动程序
ojdbc8.jar
1.下载Oracle JDBC驱动程序
访问Oracle数据库网站并下载Oracle JDBC驱动程序。
2. JDBC连接
注意
在{ORACLE_HOME}/network/admin/tnsnames.ora
找到您的Oracle SID,以避免流行的ORA-12505,TNS:listener当前不知道SID
2.1建立与Oracle数据库的连接。
JDBCExample.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCExample {
public static void main(String[] args) {
// https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html#package.description
// auto java.sql.Driver discovery -- no longer need to load a java.sql.Driver class via Class.forName
// register JDBC driver, optional since java 1.6
/*try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}*/
// Oracle SID = orcl , find yours in tnsname.ora
try (Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "system", "Password123")) {
if (conn != null) {
System.out.println("Connected to the database!");
} else {
System.out.println("Failed to make connection!");
}
} catch (SQLException e) {
System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
编译并运行:
C:\test> javac JDBCExample.java
C:\test> java JDBCExample
SQL State: 08001
No suitable driver found for jdbc:oracle:thin:@localhost:1521:orcl
2.2假设ojdbc8.jar
和JDBCExample.java
一起存储在c:\test
。 定义-cp
选项以将所有内容一起加载:
> java -cp "c:\test\ojdbc8.jar;c:\test" JDBCExample
Connected to the database!
3. Maven项目
3.1抱歉,由于Oracle许可证限制,Maven中央存储库中不提供Oracle JDBC驱动程序。 遵循本指南进行添加– 如何在Maven本地存储库中添加Oracle JDBC驱动程序
3.2或者,定义系统范围以查找具有指定系统路径的.jar
文件。
pom.xml
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>8</version>
<scope>system</scope>
<systemPath>d:/projects/ojdbc8.jar</systemPath>
</dependency>
下载源代码
$ git clone https://github.com/mkyong/java-jdbc.git
参考文献
翻译自: https://mkyong.com/jdbc/connect-to-oracle-db-via-jdbc-driver-java/