如何从Java中的数据源名称获取sqlserver数据库名称

正如标题中所指定的,我想在sqlserver中获取数据库名称,我知道的所有信息都是数据源名称,登录名/密码来获取Connection对象,请在java中显示如何正确检索数据库名称的一些指示谢谢!

甚至

从连接对象java.sql.DatabaseMetaData的实例。

数据库的名称可以通过getCatalogs()getSchemas()方法获得(它取决于JDBC驱动程序的供应商)。

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

或者使用Connection.getCatalog()Connection.getSchema()方法。

如果您有兴趣获取Oracle数据库服务器的host nameip address

  ResultSet rs=st.executeQuery("select UTL_INADDR.GET_HOST_NAME from dual"); while(rs.next()) System.out.println(rs.getString(1)); 
 public List getServerDataBaseNameList() { List dataBaseNameList = new ArrayList(); 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; }