我创建了我的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"
我已经搜索过stackoverflow但没有找到最终解决方案。
已查看How to get driver class name (not driver name) from jdbc connection
下面的方法应该是什么代码:
String getDriverClsName(Connection conn){
//code here
}
我已经尝试conn.getMetaData().getDriverName();
返回 Oracle JDBC驱动程序。
我的要求是显示有关应用程序中使用的当前驱动程序的信息(例如类名)。
答案 0 :(得分:3)
DriverManager.getDriver(String)
应该这样做:
Connection conn = DriverManager.getConnection(...);
String originalURL = conn.getMetaData().getURL();
Driver drv = DriverManager.getDriver(originalURL);
String driverClass = drv.getClass().getName();
答案 1 :(得分:0)
尝试以下方法:
conn.getMetaData().getDriverName();
其他几种方法可用:
conn.getMetaData().getDriverVersion();
conn.getMetaData().getDriverMajorVersion();
conn.getMetaData().getDriverMinorVersion();