sql

Check if a database supports transactions

With this example we are going to demonstrate how to check if a database supports transactions. In short, to check if a database supports transactions you should:

  • Load the JDBC driver, using the forName(String className) API method of the Class. In this example we use the Oracle JDBC driver.
  • Create a Connection to the database. Invoke the getConnection(String url, String user, String password) API method of the DriverManager to create the connection.
  • Create the DatabaseMetaData, using the getMetaData() API method of the Connection. It includes information about the database’s tables, its supported SQL grammar, its stored procedures and the connection capabilities.
  • Check whether this database supports transactions, using the supportsTransactions() API method of the DatabaseMetaData.

Let’s take a look at the code snippet that follows:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.javacodegeeks.snippets.core;
  
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class TransactionsSupport {
  
  public static void main(String[] args) {
 
    Connection connection = null;
    try {
 
  // Load the Oracle JDBC driver
 
  String driverName = "oracle.jdbc.driver.OracleDriver";
 
  Class.forName(driverName);
 
 
  // Create a connection to the database
 
  String serverName = "localhost";
 
  String serverPort = "1521";
 
  String sid = "mySchema";
 
  String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + sid;
 
  String username = "username";
 
  String password = "password";
 
  connection = DriverManager.getConnection(url, username, password);
 
   
 
  System.out.println("Successfully Connected to the database!");
 
   
    } catch (ClassNotFoundException e) {
 
  System.out.println("Could not find the database driver " + e.getMessage());
    } catch (SQLException e) {
 
  System.out.println("Could not connect to the database " + e.getMessage());
    }
 
    try {
 
  DatabaseMetaData metaData = connection.getMetaData();
 
  if (metaData.supportsTransactions()) {
 
 
System.out.println("Transactions are supported!");
 
  } else {
 
 
System.out.println("Transactions are not supported!");
 
  }
    } catch (SQLException e) {
 
  System.out.println("Could not get database metadata " + e.getMessage());
    }
 
 }
 
}

Output:

Successfully Connected to the database!
Transactions are supported!

 
This was an example of how to check if a database supports transactions in Java.

Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest


This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button