首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过JDBC获取JDBC级别?

通过JDBC获取JDBC级别?
EN

Stack Overflow用户
提问于 2017-06-08 18:07:08
回答 2查看 1.4K关注 0票数 0

是否可以通过JDBC获得JDBC级别的API支持?

那是3.03.14.04.14.2等等.

Connectivity

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-09 14:08:20

是的,你可以用

  • DatabaseMetaData.getJDBCMajorVersion() 检索此驱动程序的主要JDBC版本号。
  • DatabaseMetaData.getJDBCMinorVersion(): 检索此驱动程序的次要JDBC版本号。

这是在Java1.4 (JDBC 3)中添加的;请注意,没有JDBC3.1。

所以

代码语言:javascript
复制
Connection connection = ....
DatabaseMetaData dbmd = connection.getDatabaseMetaData();
System.out.printf("JDBC: %d.%d%n", dbmd.getJDBCMajorVersion(), dbmd.getJDBCMinorVersion());
票数 0
EN

Stack Overflow用户

发布于 2017-06-11 19:12:50

适用于:

代码语言:javascript
复制
<dependency>
  <groupId>com.oracle.weblogic</groupId>
  <artifactId>ojdbc7</artifactId>
  <version>12.1.3-0-0</version>
</dependency>
<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derby</artifactId>
  <version>10.13.1.1</version>
</dependency>
<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <version>1.4.195</version>
</dependency>
<dependency>
  <groupId>hsqldb</groupId>
  <artifactId>hsqldb</artifactId>
  <version>1.8.0.10</version>
</dependency>

以及:

代码语言:javascript
复制
    Class.forName(org.hsqldb.jdbcDriver.class.getCanonicalName());
    Connection conn = DriverManager.getConnection("jdbc:hsqldb:mem:mydb", "sa", "");
    System.out.println(String.format("HSQLDB: %s.%s", meta.getJDBCMajorVersion(), meta.getJDBCMinorVersion()));

    Class.forName(org.h2.Driver.class.getCanonicalName());
    conn = DriverManager.getConnection("jdbc:h2:mem:mydb", "sa", "");
    System.out.println(String.format("H2: %s.%s", meta.getJDBCMajorVersion(), meta.getJDBCMinorVersion()));

    Class.forName(org.apache.derby.jdbc.EmbeddedDriver.class.getCanonicalName());
    conn = DriverManager.getConnection("jdbc:derby:memory:mydb;create=true");
    System.out.println(String.format("Derby: %s.%s", meta.getJDBCMajorVersion(), meta.getJDBCMinorVersion()));

    Class.forName(oracle.jdbc.driver.OracleDriver.class.getCanonicalName());
    conn = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/XE", "sa", "");
    System.out.println(String.format("Oracle: %s.%s", meta.getJDBCMajorVersion(), meta.getJDBCMinorVersion()));

我有:

代码语言:javascript
复制
HSQLDB: 3.0
H2: 4.0
Derby: 4.2
Oracle: 4.1

com.oracle:ojdbc6:11.2.0.3有趣的不一致

代码语言:javascript
复制
Oracle: 1.12
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44442747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档