通过JDBC检测远端数据库类型(源码)

简介:

 工作中经常有告诉了一个数据库服务器JDBC连接信息,而不说数据库版本的,以致开发时不敢用该种数据库最新的特性。我写了一段小程序,用于探测远端数据库服务器类型:

 

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class DBVersionDetector { public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException { //Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); //Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test", "oral", "oral"); Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/sample", "db2admin", "db2admin"); DatabaseMetaData meta = conn.getMetaData(); System.out.println("URL:/t" + meta.getURL()); System.out.println("UserName:/t" + meta.getUserName()); System.out.println("DatabaseProductName:/t" + meta.getDatabaseProductName()); System.out.println("DatabaseMajorVersion:/t" + meta.getDatabaseMajorVersion()); System.out.println("DatabaseMinorVersion:/t" + meta.getDatabaseMinorVersion()); System.out.println("DatabaseProductVersion:/t" + meta.getDatabaseProductVersion()); System.out.println("DriverName:/t" + meta.getDriverName()); System.out.println("DriverMajorVersion:/t" + meta.getDriverMajorVersion()); System.out.println("DriverMinorVersion:/t" + meta.getDriverMinorVersion()); System.out.println("DriverVersion:/t" + meta.getDriverVersion()); System.out.println("JDBCMajorVersion:/t" + meta.getJDBCMajorVersion()); System.out.println("JDBCMinorVersion:/t" + meta.getJDBCMinorVersion()); conn.close(); } }

 

运行结果如下(示例):

 

URL: jdbc:db2://localhost:50000/sample UserName: db2admin DatabaseProductName: DB2/NT DatabaseMajorVersion: 9 DatabaseMinorVersion: 7 DatabaseProductVersion: SQL09070 DriverName: IBM DB2 JDBC Universal Driver Architecture DriverMajorVersion: 3 DriverMinorVersion: 57 DriverVersion: 3.57.82 JDBCMajorVersion: 3 JDBCMinorVersion: 0

从这里能看出这是一个DB2 v9.7 for Windows的服务器,支持JDBC3.0。

目录
相关文章
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
35 4
|
3月前
|
存储 NoSQL 关系型数据库
数据库的类型有哪些
数据库的类型有哪些
|
1月前
|
供应链 数据库 开发者
深入了解数据库锁:类型、应用和最佳实践
深入了解数据库锁:类型、应用和最佳实践
|
3月前
|
SQL Java 关系型数据库
JDBC数据库的连接
JDBC数据库的连接
33 0
|
28天前
|
安全 Java 数据库连接
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
153 0
|
1月前
|
存储 NoSQL 关系型数据库
四种类型的nosql数据库
随着互联网的发展,传统关系型数据库已经不能满足大数据时代的需求。NoSQL数据库应运而生,它们具有高可扩展性、高性能和高可用性等优点。本文将介绍四种主要类型的NoSQL数据库,分别是键值存储数据库、文档存储数据库、列存储数据库和图形数据库。这些数据库在不同的场景下有着不同的应用,可以满足不同的需求。
|
1月前
|
存储 PHP Apache
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
|
2月前
|
SQL druid Java
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
28 0
|
2月前
|
SQL Java 关系型数据库
数据库-----JDBC技术
数据库-----JDBC技术
202 0
|
3月前
|
存储 JSON NoSQL
请列举一些常见的NoSQL数据库类型和其特点。
请列举一些常见的NoSQL数据库类型和其特点。
44 0