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.