繁体   English   中英

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

[英]How to get sqlserver database name from datasource name in Java

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

甚至

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

可以通过getCatalogs()getSchemas()方法getCatalogs()数据库的名称(取决于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<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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM