我将创建一个工具,显示机器的操作系统和数据库相关信息。我有机器的IP address/Host Name
。使用该机器的IP Address/Host Name
我想获得操作系统和数据库相关的信息。
我需要数据库的信息(如Oracle,MySQL,SQL Server ..)而不实际连接到数据库。
是否有可用于获取此信息的库。
答案 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"));