我已经创建了我的JDBC连接,如下所示:
java.sql.Connection conn = java.sql.DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:DBSID", "DB_USER",
"DB_PASS");
如何在运行时获取JDBC驱动程序类名(例如"oracle.jdbc.driver.OracleDriver"),如下所示:
String driverClsName = getDriverClsName(conn);
//e.g. driverClsName = "oracle.jdbc.driver.OracleDriver"
我已经在堆栈溢出中搜索过,但没有找到最终的解决方案。
已查看 如何从 jdbc 连接获取驱动程序类名(不是驱动程序名称)
下面的方法中的代码应该是什么:
String getDriverClsName(Connection conn){
//code here
}
我已经尝试过conn.getMetaData().getDriverName();
它正在返回Oracle JDBC驱动程序。
我的要求是显示有关应用程序中正在使用的当前驱动程序的信息(例如类名)。
DriverManager.getDriver(String)
应该这样做:
Connection conn = DriverManager.getConnection(...);
String originalURL = conn.getMetaData().getURL();
Driver drv = DriverManager.getDriver(originalURL);
String driverClass = drv.getClass().getName();
尝试以下方法:
conn.getMetaData().getDriverName();
其他几种可用的方法:
conn.getMetaData().getDriverVersion();
conn.getMetaData().getDriverMajorVersion();
conn.getMetaData().getDriverMinorVersion();