如何获取操作系统信息和安装在使用Java知道IP地址的计算机上的数据库?

时间:2010-10-27 03:53:22

标签: java database operating-system

我将创建一个工具,显示机器的操作系统和数据库相关信息。我有机器的IP address/Host Name。使用该机器的IP Address/Host Name我想获得操作系统和数据库相关的信息。

我需要数据库的信息(如Oracle,MySQL,SQL Server ..)而不实际连接到数据库。

是否有可用于获取此信息的库。

2 个答案:

答案 0 :(得分:2)

嗯,default JVM system properties中提供了一些基本的操作系统信息。

至于查找活动数据库,您可以使用一些流行的JDBC库来尝试连接到默认端口并根据“连接拒绝”错误与“无效登录”推断它们的存在,但这只会让您到目前为止,特别是如果他们正在侦听非默认端口或域套接字。您还可以在文件系统中搜索安装文件夹,或在Windows注册表中搜索告密安装密钥,并以此方式推断它们的存在。

但最终,在没有提升(管理员)访问权限的情况下,您可以在未知系统上发现这么多。

答案 1 :(得分:2)

对于数据库信息  你需要导入这个java.sql.DatabaseMetaData;

Connection conn = getConnection();

DatabaseMetaData mtdt = conn.getMetaData();
System.out.println("DBMS name: " + mtdt.getDatabaseProductName());
System.out.println("DBMS version: " + mtdt.getDatabaseProductVersion());
System.out.println("Driver name: " + mtdt.getDriverName());

对于操作系统信息

System.out.println("\nName of the OS: " + System.getProperty("os.name"));
System.out.println("Version of the OS: " +   System.getProperty("os.version"));
System.out.println("Architecture of THe OS: " + System.getProperty("os.arch"));