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

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

【问题讨论】:

  • 谁在连接数据库?连接的不是您的应用程序吗?那么您不知道您加载的是 Oracle 还是 MSSQL 配置?

标签: java database jdbc odbc


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 您经常使用框架来访问 Connection 对象(例如,应用程序服务器为您管理事务和连接池,您不会在那里自己创建 Connection 对象)。不过,不确定这里是什么情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 2010-11-26
    • 2020-01-05
    • 1970-01-01
    • 2021-04-15
    • 2014-12-18
    • 1970-01-01
    相关资源
    最近更新 更多