Я подключаюсь к Oracle 11g / 12c, используя код Java, указав правильный URL, имя пользователя и пароль.Но теперь я хочу версию oracle, такую как 11g / 12c, после успешного соединения через код Java.
Пожалуйста, помогите получить это.
Помимо запросов к базе данных, эта информация также предоставляется драйвером JDBC через DatabaseMetaData
DatabaseMetaData
Connection con = DriverManager.connect(...); DatabaseMetaData meta = con.getMetaData(); int majorVersion = meta.getDatabaseMajorVersion(); int minorVersion = meta.getDatabaseMinorVersion();
например. Oracle 11.2 приведет к majorVersion=11 и minorVersion=2
majorVersion=11
minorVersion=2
Вы можете использовать приведенный ниже код для получения подробной информации о версии,
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; } }
Вы можете использовать следующие sql
SELECT * FROM V$VERSION
https://community.oracle.com/thread/2250946