@Override public String getDriverVersion() throws SQLException { return metaData.getDriverVersion(); }
@Override public void initializeWithMetaData(DatabaseMetaData databaseMetaData) throws SQLException { super.initializeWithMetaData(databaseMetaData); if (!databaseMetaData.supportsGetGeneratedKeys()) { if (logger.isInfoEnabled()) { logger.info("Overriding supportsGetGeneratedKeys from DatabaseMetaData to 'true'; it was reported as " + "'false' by " + databaseMetaData.getDriverName() + " " + databaseMetaData.getDriverVersion()); } this.supportsGeneratedKeysOverride = true; } }
private static void checkDriverVersion(DatabaseMetaData metaData) throws SQLException { String driverVersion = metaData.getDriverVersion(); String[] parts = StringUtils.split(driverVersion, "."); int intVersion = Integer.parseInt(parts[0]) * 100 + Integer.parseInt(parts[1]); if (intVersion < 1200) { throw MessageException.of(String.format( "Unsupported Oracle driver version: %s. Minimal supported version is 12.1.", driverVersion)); } } }
private static void appendDataBaseVersion(StringBuilder result, Connection connection) throws SQLException { final DatabaseMetaData metaData = connection.getMetaData(); // Sécurité: pour l'instant on n'indique pas metaData.getUserName() result.append(metaData.getURL()).append('\n'); result.append(metaData.getDatabaseProductName()).append(", ") .append(metaData.getDatabaseProductVersion()).append('\n'); result.append("Driver JDBC:\n").append(metaData.getDriverName()).append(", ") .append(metaData.getDriverVersion()); }
@Override public String getDbmsInfoString(Dbms dbms) throws SQLException { try (final Connection conn = connectionPool.getConnection(dbms)) { final DatabaseMetaData md = conn.getMetaData(); return md.getDatabaseProductName() + ", " + md.getDatabaseProductVersion() + ", " + md.getDriverName() + " " + md.getDriverVersion() + ", JDBC version " + md.getJDBCMajorVersion() + "." + md.getJDBCMinorVersion(); } }
@Override public String getDbmsInfoString(Dbms dbms) throws SQLException { try (final Connection conn = getConnection(dbms)) { final DatabaseMetaData md = conn.getMetaData(); return md.getDatabaseProductName() + ", " + md.getDatabaseProductVersion() + ", " + md.getDriverName() + " " + md.getDriverVersion() + ", JDBC version " + md.getJDBCMajorVersion() + "." + md.getJDBCMinorVersion(); } }
private DatabaseMetaData newMetadata(int dbMajorVersion, int dbMinorVersion, String driverVersion) throws SQLException { DatabaseMetaData metadata = mock(DatabaseMetaData.class, Mockito.RETURNS_DEEP_STUBS); when(metadata.getDatabaseMajorVersion()).thenReturn(dbMajorVersion); when(metadata.getDatabaseMinorVersion()).thenReturn(dbMinorVersion); when(metadata.getDriverVersion()).thenReturn(driverVersion); return metadata; } }
public void invoke(Connection conn) throws Exception { try { DatabaseMetaData dmd = conn.getMetaData(); meta.setProductName(dmd.getDatabaseProductName()); meta.setVersion(dmd.getDatabaseProductVersion()); log.debug("JDBC Driver --> " + dmd.getDriverVersion()); log.debug("JDBC Name --> " + dmd.getDriverName()); if (!Strings.isBlank(dmd.getURL())) log.debug("JDBC URL --> " + dmd.getURL()); if (dmd.getDriverName().contains("mariadb") || dmd.getDriverName().contains("sqlite")) { log.warn("Auto-select fetch size to Integer.MIN_VALUE, enable for ResultSet Streaming"); SqlContext.DEFAULT_FETCH_SIZE = Integer.MIN_VALUE; } String tmp = dmd.getSQLKeywords(); if (tmp != null) { for (String keyword : tmp.split(",")) { keywords.add(keyword.toUpperCase()); } } expert.checkDataSource(conn); } catch (Exception e) { log.info("something wrong when checking DataSource", e); } } });
/** * @throws Exception If failed. */ @Test public void testVersions() throws Exception { try (Connection conn = DriverManager.getConnection(URL)) { assert conn.getMetaData().getDatabaseProductVersion().equals(IgniteVersionUtils.VER.toString()); assert conn.getMetaData().getDriverVersion().equals(IgniteVersionUtils.VER.toString()); } }
@Test public void testGetDriverVersion() throws Exception { Driver driver = DriverManager.getDriver("jdbc:presto:"); assertEquals(driver.getMajorVersion(), 0); assertEquals(driver.getMajorVersion(), 0); try (Connection connection = createConnection()) { DatabaseMetaData metaData = connection.getMetaData(); assertEquals(metaData.getDriverName(), PrestoDriver.DRIVER_NAME); assertEquals(metaData.getDriverVersion(), "unknown"); assertEquals(metaData.getDriverMajorVersion(), 0); assertEquals(metaData.getDriverMinorVersion(), 0); } }
@Override public Section toProtobuf() { Section.Builder protobuf = Section.newBuilder(); protobuf.setName("Database"); try (DbSession dbSession = dbClient.openSession(false)) { DatabaseMetaData metadata = dbSession.getConnection().getMetaData(); setAttribute(protobuf, "Database", metadata.getDatabaseProductName()); setAttribute(protobuf, "Database Version", metadata.getDatabaseProductVersion()); setAttribute(protobuf, "Username", metadata.getUserName()); setAttribute(protobuf, "URL", metadata.getURL()); setAttribute(protobuf, "Driver", metadata.getDriverName()); setAttribute(protobuf, "Driver Version", metadata.getDriverVersion()); } catch (SQLException e) { throw new IllegalStateException("Fail to get DB metadata", e); } return protobuf.build(); } }
beeLine.info(beeLine.loc("driver", new Object[] { getDatabaseMetaData().getDriverName(), getDatabaseMetaData().getDriverVersion()})); } catch (Exception e) { beeLine.handleException(e);
/** * @throws Exception If failed. */ @Test public void testVersions() throws Exception { try (Connection conn = DriverManager.getConnection(BASE_URL)) { assertEquals("Apache Ignite", conn.getMetaData().getDatabaseProductName()); assertEquals(JdbcDatabaseMetadata.DRIVER_NAME, conn.getMetaData().getDriverName()); assertEquals(IgniteVersionUtils.VER.toString(), conn.getMetaData().getDatabaseProductVersion()); assertEquals(IgniteVersionUtils.VER.toString(), conn.getMetaData().getDriverVersion()); assertEquals(IgniteVersionUtils.VER.major(), conn.getMetaData().getDatabaseMajorVersion()); assertEquals(IgniteVersionUtils.VER.major(), conn.getMetaData().getDriverMajorVersion()); assertEquals(IgniteVersionUtils.VER.minor(), conn.getMetaData().getDatabaseMinorVersion()); assertEquals(IgniteVersionUtils.VER.minor(), conn.getMetaData().getDriverMinorVersion()); assertEquals(4, conn.getMetaData().getJDBCMajorVersion()); assertEquals(1, conn.getMetaData().getJDBCMinorVersion()); } }
+ " minor : %s", dbmd.getDriverName(), dbmd.getDriverVersion(), dbmd.getDriverMajorVersion(), dbmd.getDriverMinorVersion()
@Override public String getDriverVersion() throws SQLException { return metaData.getDriverVersion(); }
@Override public SystemInfo load() { try { Class.forName(driver); try (Connection conn = DriverManager.getConnection(url, username, password)) { DatabaseMetaData md = conn.getMetaData(); HashMap<String, String> mysql = new HashMap<>(); mysql.put("db.url", md.getURL()); mysql.put("db.driver.name", md.getDriverName()); mysql.put("db.driver.version", md.getDriverVersion()); mysql.put("db.username", username); mysql.put("db.password", password); GroupSystemInfo dbInfo = new GroupSystemInfo(Status.RUNNING, Type.DB); dbInfo.setName(md.getDatabaseProductName()); dbInfo.setVersion(md.getDatabaseProductVersion()); dbInfo.put(DBGroupName.MYSQL, mysql); return dbInfo; } } catch (SQLException e) { log.error("Cannot load database info", e); } catch (ClassNotFoundException e) { log.error("Cannot find driver: " + driver, e); } return new SystemInfo(Status.OFFLINE, Type.DB); } }
private void logConnection(final Connection connection) { if (connection == null || !LOGGER.isLoggable(Level.INFO)) { return; } try { final DatabaseMetaData dbMetaData = connection.getMetaData(); LOGGER .log(Level.INFO, new StringFormat("Connected to %n%s %s %nusing JDBC driver %n%s %s", dbMetaData.getDatabaseProductName(), dbMetaData.getDatabaseProductVersion(), dbMetaData.getDriverName(), dbMetaData.getDriverVersion())); } catch (final SQLException e) { LOGGER.log(Level.WARNING, "Could not log connection information", e); } }
databaseProductVersion = databaseMetaData.getDatabaseProductVersion(); driverName = databaseMetaData.getDriverName(); driverVersion = databaseMetaData.getDriverVersion(); driverMajorVersion = databaseMetaData.getDriverMajorVersion(); driverMinorVersion = databaseMetaData.getDriverMinorVersion();
r.refOfIndex("driverVersion").assign(metaData.getDriverVersion()); r.refOfIndex("databaseName").assign(metaData.getDatabaseProductName()); r.refOfIndex("databaseVersion").assign(metaData.getDatabaseProductVersion());
/** * Learn relevant information about this connection source. * */ public void discoverConnectionProperties() { Connection connection = null; try { connection = getConnection(); if (connection == null) { addWarn("Could not get a connection"); return; } DatabaseMetaData meta = connection.getMetaData(); DBUtil util = new DBUtil(); util.setContext(getContext()); supportsGetGeneratedKeys = util.supportsGetGeneratedKeys(meta); supportsBatchUpdates = util.supportsBatchUpdates(meta); dialectCode = DBUtil.discoverSQLDialect(meta); addInfo("Driver name="+meta.getDriverName()); addInfo("Driver version="+meta.getDriverVersion()); addInfo("supportsGetGeneratedKeys="+supportsGetGeneratedKeys); } catch (SQLException se) { addWarn("Could not discover the dialect to use.", se); } finally { DBHelper.closeConnection(connection); } }