检测当前与 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 对象一起使用