gpt4 book ai didi

java - 如何从 Connection 对象确定 DBMS

转载 作者:可可西里 更新时间:2023-11-01 08:16:15 24 4
gpt4 key购买 nike

我有一个支持多个 RDBMS 的用例。用户应该将数据源定义为先决条件,并且在代码级别我必须确定用户要连接的 RDBMS 并提供特定的 RDBMS 属性。

例如:,

com.mysql.jdbc.Driver           jdbc:mysql://hostname/ databaseName
oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port Number:databaseName

如上所示,我们可以检索连接 url 或可能是驱动程序名称并识别 RDBMS。但我想澄清一下识别哪个 RDBMS 用户正在使用的最佳方法是什么。任何帮助将不胜感激。

最佳答案

这真的很简单。参见 DatabaseMetaData

DatabaseMetaData databaseMetaData = connection.getMetaData();
String databaseName = databaseMetaData.getDatabaseProductName();
String userName = databaseMetaData.getUserName();

更新以回答@dnWick评论。

是的,此DatabaseMetaData 支持广泛的RDBMS。通过DatabaseMetaData 接口(interface),我们可以获得有关已连接数据库的元数据。例如,我们可以看到数据库中定义了哪些表,每个表有哪些列,甚至我们可以检查我们所连接的数据库支持的功能。

例子我们可以看一个数据库是否支持多事务,是否支持UNION等,

关于java - 如何从 Connection 对象确定 DBMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com