Как проверить версию базы данных Oracle после подключения в коде Java - PullRequest
0 голосов
/ 12 сентября 2018

Я подключаюсь к Oracle 11g / 12c, используя код Java, указав правильный URL, имя пользователя и пароль.Но теперь я хочу версию oracle, такую ​​как 11g / 12c, после успешного соединения через код Java.

Пожалуйста, помогите получить это.

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Помимо запросов к базе данных, эта информация также предоставляется драйвером JDBC через DatabaseMetaData

Connection con = DriverManager.connect(...);
DatabaseMetaData meta = con.getMetaData();
int majorVersion = meta.getDatabaseMajorVersion();
int minorVersion = meta.getDatabaseMinorVersion();

например. Oracle 11.2 приведет к majorVersion=11 и minorVersion=2

0 голосов
/ 12 сентября 2018

Вы можете использовать приведенный ниже код для получения подробной информации о версии,

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;

public class TestDatabaseMetaDataToolDatabaseInformation {
  public static void main(String[] args) {
    Connection conn = getOracleConnection();
    DatabaseMetaData meta = conn.getMetaData();
    // Oracle (and some other vendors) do not support
    // some the following methods; therefore, we need
    // to use try-catch block.
    try {
      int majorVersion = meta.getDatabaseMajorVersion();
      System.out.println("major Version: " + majorVersion);
      int minorVersion = meta.getDatabaseMinorVersion();
      System.out.println("minorVersion" + minorVersion);
      String productName = meta.getDatabaseProductName();
      String productVersion = meta.getDatabaseProductVersion();
      System.out.println("productName" + productName);
      System.out.println("productVersion" + productVersion);
    } catch (SQLException e) {
      System.out.println("minorVersion unsupported feature");
      System.out.println("major Version: unsupported feature");
    } finally {
        conn.close();
    }
  }

  public static Connection getOracleConnection() throws Exception {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
    String username = "name";
    String password = "password";
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

}
0 голосов
/ 12 сентября 2018

Вы можете использовать следующие sql

SELECT * FROM V$VERSION

https://community.oracle.com/thread/2250946

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...