Как получить имя базы данных sqlserver из имени источника данных в Java - PullRequest
0 голосов
/ 19 августа 2011

Как указано в заголовке, я хочу получить имя базы данных в sqlserver, вся информация, которую я знаю, это имя источника данных, имя входа / пароль для получения объекта Connection, пожалуйста, покажите несколько указателей о том, как правильно получить имя базы данных,в Java, спасибо!

Даже

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Получить экземпляр java.sql.DatabaseMetaData из объекта подключения.

Имена базы данных можно получить с помощью метода getCatalogs() или getSchemas() (зависит от поставщика драйвера JDBC).

ResultSet rs=cn.getMetaData().getSchemas();
while(rs.next()) {
   System.out.println(rs.getString(1));
}

Или используйте метод Connection.getCatalog() или Connection.getSchema().

В случае, если вам интересно получить host name или ip address сервера базы данных Oracle.

 ResultSet rs=st.executeQuery("select UTL_INADDR.GET_HOST_NAME from dual");
 while(rs.next())
    System.out.println(rs.getString(1));
1 голос
/ 05 мая 2016
public List<String> getServerDataBaseNameList() {
    List<String> dataBaseNameList = new ArrayList<String>();
    try {
        ResultSet resultSet = con.getConnectionMetaData().getCatalogs();
        if (resultSet == null) {
            return null;
        }
        while (resultSet.next()) {
            dataBaseNameList.add(resultSet.getString(1));
        }
        return dataBaseNameList;
    } catch (SQLException e) {
        logger.error("Error during execute select query for fetch server database name");
    }
    return null;
}
...