相关疑难解决方法(0)

处理来自SAME VENDOR的多个JDBC驱动程序

我昨天遇到了一个大问题.在我当前的项目中,我使用ojdbc6实现Oracle的JDBC进行连接,但我还需要处理例如oracle 8数据库,这对于这个JAR是完全不可能的.您可以说我应该使用ojdbc14作为示例,这对于某些测试是正确的,但我们假设稍后我将需要处理来自同一供应商的2种数据库,但我们知道BOTH和我没有现有的实现需要同时加载.相同的接口(好吧,不仅仅是相同的接口,相同的类结构,内部只是不同的实现!),相同的URL连接前缀 - > JDBC连接将使用一个驱动程序,但我无法加载其中的多个.所以现在怎么办?

  • 我的第一个想法是用不同的类加载器加载JAR,也许我可以加载相同的包结构,相同的类彼此分开?我真的不这么认为,也许这是我的一个愚蠢的想法.这可能也是一个普遍的问题,以后不仅仅是JDBC驱动程序,所以即使你不能回答我的问题,但你知道这里缺少什么,请告诉我

  • 即使我可以单独加载相同类名的类实现,在创建连接时如何告诉DriverManager使用EXACT驱动程序而不是根据连接url的前缀找到一个?(我的意思是jdbc:oracle:例如,瘦).

我现在觉得自己很愚蠢,因为我认为在Java世界中处理这个并不是一个完全不同寻常的想法,但我完全不知道如何处理.

谢谢你们提前

jar jdbc classloader

5
推荐指数
1
解决办法
2571
查看次数

标签 统计

classloader ×1

jar ×1

jdbc ×1