throw new MetaDataAccessException("No method named '" + metaDataMethodName + "' found on DatabaseMetaData instance [" + dbmd + "]", ex); throw new MetaDataAccessException( "Could not access DatabaseMetaData method '" + metaDataMethodName + "'", ex); throw (SQLException) ex.getTargetException(); throw new MetaDataAccessException( "Invocation of DatabaseMetaData method '" + metaDataMethodName + "' failed", ex);
getLogger().trace(ex.getMessage(), ex); logWarnIfNonZero(1, "Could not detect database type. Assuming locks can be taken.");
if (metaData == null) { throw new MetaDataAccessException("DatabaseMetaData returned by Connection [" + con + "] was null"); throw new MetaDataAccessException("Could not get Connection for extracting meta-data", ex); throw new MetaDataAccessException("Error while extracting DatabaseMetaData", ex); throw new MetaDataAccessException( "JDBC DatabaseMetaData method not implemented by JDBC driver - upgrade your driver", err);
@Test(expected=MetaDataAccessException.class) public void testBadMetaData() throws Exception { DataSource ds = DatabaseTypeTestUtils.getMockDataSource(new MetaDataAccessException("Bad!")); assertEquals(SYBASE, DatabaseType.fromMetaData(ds)); }
@Test(expected=IllegalArgumentException.class) public void testMissingMetaData() throws Exception { factory.setDataSource(DatabaseTypeTestUtils.getMockDataSource(new MetaDataAccessException("foo"))); PagingQueryProvider provider = factory.getObject(); assertNotNull(provider); }
/** * Parse the Database ProductName from the Connection and return the matching DatabaseType */ public static DatabaseType fromMetaData(Connection connection) throws MetaDataAccessException { String databaseProductName = null; try { databaseProductName = connection.getMetaData().getDatabaseProductName(); } catch (SQLException e) { throw new MetaDataAccessException(e.getMessage()); } if (databaseProductName != null) { databaseProductName = JdbcUtils.commonDatabaseName(databaseProductName); try { return fromProductName(databaseProductName); } catch (IllegalArgumentException e) { throw new MetaDataAccessException(e.getMessage()); } } else { throw new MetaDataAccessException("Database Type not found for connection"); } }
/** * Parse the Database ProductName from the DataSource and return the matching DatabaseType */ public static DatabaseType fromMetaData(DataSource dataSource) throws MetaDataAccessException { String databaseProductName = JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName").toString(); databaseProductName = JdbcUtils.commonDatabaseName(databaseProductName); try { return fromProductName(databaseProductName); } catch (IllegalArgumentException e) { throw new MetaDataAccessException(e.getMessage()); } }
public Object processMetaData(DatabaseMetaData dbmd) throws SQLException, MetaDataAccessException { try { Method method = DatabaseMetaData.class.getMethod(metaDataMethodName, (Class[]) null); return method.invoke(dbmd, (Object[]) null); } catch (NoSuchMethodException ex) { throw new MetaDataAccessException("No method named '" + metaDataMethodName + "' found on DatabaseMetaData instance [" + dbmd + "]", ex); } catch (IllegalAccessException ex) { throw new MetaDataAccessException( "Could not access DatabaseMetaData method '" + metaDataMethodName + "'", ex); } catch (InvocationTargetException ex) { if (ex.getTargetException() instanceof SQLException) { throw (SQLException) ex.getTargetException(); } throw new MetaDataAccessException( "Invocation of DatabaseMetaData method '" + metaDataMethodName + "' failed", ex); } } });
/** * Parse the Database ProductName from the Connection and return the matching DatabaseType */ public static DatabaseType fromMetaData(Connection connection) throws MetaDataAccessException { String databaseProductName = null; try { databaseProductName = connection.getMetaData().getDatabaseProductName(); } catch (SQLException e) { throw new MetaDataAccessException(e.getMessage()); } if (databaseProductName != null) { databaseProductName = JdbcUtils.commonDatabaseName(databaseProductName); try { return fromProductName(databaseProductName); } catch (IllegalArgumentException e) { throw new MetaDataAccessException(e.getMessage()); } } else { throw new MetaDataAccessException("Database Type not found for connection"); } }
if (con == null) { throw new MetaDataAccessException("Connection returned by DataSource [" + dataSource + "] was null"); throw new MetaDataAccessException("DatabaseMetaData returned by Connection [" + con + "] was null"); throw new MetaDataAccessException("Could not get Connection for extracting meta data", ex); throw new MetaDataAccessException("Error while extracting DatabaseMetaData", ex); throw new MetaDataAccessException( "JDBC DatabaseMetaData method not implemented by JDBC driver - upgrade your driver", err);
/** * Parse the Database ProductName from the DataSource and return the matching DatabaseType */ public static DatabaseType fromMetaData(DataSource dataSource) throws MetaDataAccessException { String databaseProductName = JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName").toString(); databaseProductName = JdbcUtils.commonDatabaseName(databaseProductName); try { return fromProductName(databaseProductName); } catch (IllegalArgumentException e) { throw new MetaDataAccessException(e.getMessage()); } }
if (metaData == null) { throw new MetaDataAccessException("DatabaseMetaData returned by Connection [" + con + "] was null"); throw new MetaDataAccessException("Could not get Connection for extracting meta-data", ex); throw new MetaDataAccessException("Error while extracting DatabaseMetaData", ex); throw new MetaDataAccessException( "JDBC DatabaseMetaData method not implemented by JDBC driver - upgrade your driver", err);