检测当前与 Java 一起使用的数据库

Posted

技术标签:

【中文标题】检测当前与 Java 一起使用的数据库【英文标题】:Detect Database Currently in Use with Java 【发布时间】:2010-06-08 19:21:29 【问题描述】:

有没有办法检测当前与 Java 连接的 ODBC 数据库? 例如,我想知道应用程序当前是否连接到 Oracle 10g 或 SQL Server 2005。 提前致谢。

【问题讨论】:

谁在连接数据库?连接的不是您的应用程序吗?那么您不知道您加载的是 Oracle 还是 MSSQL 配置? 【参考方案1】:

如果你有java.sql.Connection 类,getMetaData 方法将返回数据库信息。从DatabaseMetaData 对象,您可以检索各种内容,例如驱动程序名称或连接 url,以确定您的服务器类型。 edit那里还有getDatabaseProductName方法。

【讨论】:

【参考方案2】:

为什么不从正在使用的驱动程序中提取它? IE 如果你当前使用的是 com.mysql.jdbc.Driver,那么你就知道你使用的是 MySQL。

您正在将驱动程序类名称传递给某些东西,对吗?

【讨论】:

您经常使用框架来访问 Connection 对象(例如,应用程序服务器为您管理事务和连接池,您不会在那里自己创建 Connection 对象)。不过,不确定这里是什么情况。

以上是关于检测当前与 Java 一起使用的数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何将 dataBinding 与 spinner 一起使用并获取当前值?

Hibernate + Java 性能较慢,但当我将 TOAD 与相同的本机 Oracle 查询一起使用时性能较快

我需要将当前日期与其他数据一起添加到 firebase Realtime 数据库,并在 kotlin android 中检索所有带有日期的数据

将 memcached 与 Java 和 ScheduledFuture 对象一起使用

Java ResultSet 与 postgresql 一起使用

将教义与多个 MySQL 数据库一起使用