我想开发一个应用程序,在其中我想根据系统更改数据库。
例如:如果安装了 MS-Office,我会将 Java 代码连接到 .mdf 文件;如果安装了 Oracle,我将使用 orathin
将 Java 代码连接到 .mdf 文件。
这将帮助我不必指定数据库并减少我的依赖性。
最佳答案
简单的答案是否定的。没有标准方法可以做到这一点,而且我不知道有任何第三方库可以做到这一点。
<小时/>更详细的答案是,理论上您可以编写自己的代码来执行此操作,但该代码不可移植且不可靠。
- 在 Windows 上,您需要查询注册表。
- 在 Linux 上,您需要检查可能安装该软件的明显位置,并希望管理员/用户没有决定采取不同的做法。
即使您可以准确地确定安装了哪些软件(与您相关),您也会遇到更多问题。
- 如果安装了两个数据库产品怎么办?如果没有怎么办?
- 如果用户想要使用非本地 RDBMS 该怎么办?
- 其他与数据库相关的配置呢?数据库帐号/密码?连接 URL?逻辑数据库和表名称?
- 等等。
简而言之,我怀疑您是否能够设计出适合大部分用户的自动安装策略。
关于java - 我们可以使用JAVA列出操作系统中安装的软件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619038/