[英]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 name
或ip 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.