How to connect to an Oracle database using JDBC Thin Driver in Java
Add Oracle JDBC driver (ojdbc8.jar) to project via Maven or manually; 2. Driver loads automatically in modern Java; 3. Use DriverManager.getConnection() with URL like jdbc:oracle:thin:@host:port:SID; 4. Handle exceptions and close resources with try-with-resources to prevent leaks. Ensure driver, connection string, and credentials are correct.

To connect to an Oracle database using the JDBC Thin Driver in Java, you need to follow a few straightforward steps. The JDBC Thin driver allows Java applications to connect directly to an Oracle database using TCP/IP without requiring any Oracle client software.
1. Add the Oracle JDBC Driver to Your Project
The Oracle JDBC driver (ojdbc8.jar or similar) must be available in your project’s classpath. You can obtain it from the Oracle Maven Repository or download it manually from Oracle’s official website.
If you're using Maven, add this dependency:
<dependency><groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.7.0.0</version>
</dependency>
For non-Maven projects, download the JAR file and include it in your build path.
2. Load the JDBC Driver (Optional in Modern Java)
Since JDBC 4.0, drivers are automatically loaded. However, older code may include:
Class.forName("oracle.jdbc.OracleDriver");This step is no longer required but won't cause errors if included.
3. Establish the Database Connection
Use DriverManager.getConnection() with the correct JDBC URL format. The standard syntax for the Oracle Thin driver is:
jdbc:oracle:thin:@host:port:SID— or —
jdbc:oracle:thin:@//host:port/service_name
Here's a working example:
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";String username = "your_username";
String password = "your_password";
try (Connection conn = DriverManager.getConnection(url, username, password)) {
if (conn != null) {
System.out.println("Connected to Oracle database!");
}
} catch (SQLException e) {
e.printStackTrace();
}
Replace localhost, 1521, ORCL, and login credentials with your actual database details.
4. Handle Exceptions and Close Resources
Always wrap database operations in try-catch blocks and use try-with-resources to ensure connections are closed properly. This prevents resource leaks and improves reliability.
Common issues include:
- Wrong host, port, or service name/SID
- Firewall blocking the port
- Incorrect username/password
- Missing JDBC driver in classpath
Basically just make sure the driver is present, the connection string is correct, and credentials are valid. Once those are in place, connecting via the JDBC Thin driver is reliable and efficient.
The above is the detailed content of How to connect to an Oracle database using JDBC Thin Driver in Java. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20519
7
13631
4
How to troubleshoot the Oracle Listener startup? (Network Services)
Mar 10, 2026 am 12:58 AM
Oraclelistenerstartupfailuresstemfromsilentlistener.oraparsingerrors,hostnameresolutionissues,orpermissionproblems—notbinariesorports;validatesyntaxwithreload,checkownership,verifyactualconfigpath,testDNS,useexplicitIPs,confirmADR_BASE,enabletracingp
How to use Sequences in Oracle to generate IDs? (Auto-increment)
Mar 06, 2026 am 01:16 AM
ID auto-increment in Oracle requires the cooperation of SEQUENCE and BEFOREINSERT triggers, and the trigger must check: NEW.IDISNULL; 12c supports IDENTITY but is not compatible with older versions and disables explicit insertion.
How to patch Oracle Grid Infrastructure? (System Maintenance)
Mar 10, 2026 am 01:00 AM
Three things must be confirmed before applying the GI patch: 1. The opatchlsinventory-detail output of each node is consistent; 2. OCR and VoteDisk are online and crsctlcheckcluster-all and ocrcheck both return SUCCESS; 3. $GRID_HOME/crs/install/rootcrs.sh-prepatch has been successfully executed.
How to implement Transparent Data Encryption (TDE) in Oracle? (Data Security)
Mar 13, 2026 am 12:14 AM
OracleTDE must first enable and open the encrypted wallet (Wallet), otherwise ORA-28365 will be reported when executing ALTERTABLESPACE...ENCRYPTION; Wallet needs to be created, opened and managed through the ADMINISTERKEYMANAGEMENT command, and the path must be explicitly configured in sqlnet.ora and permissions must be ensured.
How to use Oracle APEX to build a low-code app? (Rapid Development)
Mar 13, 2026 am 12:48 AM
OracleAPEXislow-glue,notno-code:itskipsinfrastructurebutrequiresSQL,PL/SQL,anddeclarativelogic;ApplicationProcesseshandleserver-sidevalidationandsideeffects,DynamicActionsmanageclient-sideinteractivity;InteractiveGridneedskey-preservedsourcesforediti
How to manage Flashback Data Archive_Flashback Data Archive table space allocation
Mar 28, 2026 pm 04:06 PM
The reason why the FlashbackDataArchive table space is full is that the hidden history table (SYS_FBA_HIST_XXXXXX) occupies the table space where the main table is located and does not go through ASSM cleaning; you need to use ALTERFLASHBACKARCHIVE...MODIFYTABLESPACE to migrate to the local management automatic segment space table space, and manually clean up the orphan history table.
How to use JSON data types in Oracle Database? (NoSQL Features)
Mar 08, 2026 am 01:03 AM
In Oracle's JSON scenario, you should select VARCHAR2 (4000CHAR) plus ISJSON constraints (small documents) or BLOB plus ISJSON constraints (large documents), and disable CLOB; ISJSON is a column-level constraint syntax, not a function call; the JSON_VALUE path must be a string literal; JSON_EXISTS needs to be speeded up with the JSON_VALUE function index.
How to grant SYSDBA permissions_sysdba management of password files and OS authentication
Apr 03, 2026 am 08:54 AM
Ordinary users can be authorized through GRANTSYSDBATOusername; provided that the database enables password file authentication (REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE) and has logged in with SYS; there is no need to restart after authorization, but the connection needs to explicitly specify assysdba, and the user credentials must exist in the V$PWFILE_USERS view.





