未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例

Posted

技术标签:

【中文标题】未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例【英文标题】:Unknown sun.jdbc.odbc.JdbcOdbcDriver's Instance 【发布时间】:2016-09-23 10:18:41 【问题描述】:

我在 ContextListener 的 contextDestroyed 方法 (Tomcat) 中取消注册 JDBC 驱动程序,我注意到两个 JDBC 驱动程序而不是一个。

我确实加载了oracle.jdbc.driver.OracleDriver 的实例,但我不知道为什么,也不知道是谁加载了sun.jdbc.odbc.JdbcOdbcDriver

有什么提示吗?

【问题讨论】:

【参考方案1】:

自 JDBC 4 (Java 6) 起,JDBC 驱动程序会在具有正确服务条目的类路径上自动加载。

JdbcOdbcDriver 在 Java 6 和 7 中自动加载,因为它位于类路径中(它是 Java 本身的一部分);它在 Java 8 中被删除。

请注意,您不需要删除此驱动程序,因为它是为整个 JVM 加载的,而不仅仅是为您的上下文(Web 应用程序)加载的。

【讨论】:

我会简单地在 contextInitialized() 上注销它。 @MohamedEnnahdiElIdrissi 如果您不使用它,这并不是真正的问题,但是如果您在同一个 tomcat 中运行其他应用程序,并且您这样做,那么这些应用程序将无法访问这个司机要么。它是由系统类加载器加载的,而不是由上下文类加载器加载的。

以上是关于未知 sun.jdbc.odbc.JdbcOdbcDriver 的实例的主要内容,如果未能解决你的问题,请参考以下文章

这个计算器怎么设置未知数,变成一个常数

ValueError:未知标签类型:RandomForestClassifier 中的“未知”

iOS,未知进程,未知崩溃

获得 95% 发出未命名的兼容插件错误:未知:未知错误,打开

VS2010 打开时出现未知错误

线性代数带未知数的矩阵变化