发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

请问一个动态加载jdbc驱动的问题

2005-12-30 11:06
赞助商链接

我需要完成这样一个功能,
做一个数据库连接软件。
其中数据库会有多种,其jdbc驱动由用户在软件内定制(指定jar文件)。
现在问题是软件启动时,jdbc驱动没有加载,因为他们是在软件运行时定义的。现在要求在定义后,程序能在运行时加载驱动并连接到指定的数据库。
我现在已经试了很长时间,问题可能出在classloader或者drivermanager上,我对这方面不清楚,也没法debug跟踪进去,
哪位大侠能帮帮忙?

2005-12-30 15:47

请看,这是我的代码。我把它简化了。
帮我看一下错在哪里?
public void connect()
{
URL[] urls = new URL[1];
try
{
urls[0] = new File("d:\\javacode\\lib\\ojdbc14.jar").toURL();
URLClassLoader loader = new URLClassLoader(urls, ClassLoader.getSystemClassLoader());

Object driver = loader.loadClass("oracle.jdbc.driver.OracleDriver").newInstance();();//这一步通过了,而且能看到得到的的确是oracle.jdbc.driver.OracleDriver这个类
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@10.18.4.73:1521:iimsprod", "j2eetest", "j2eetest");//错误出现在这一步。给出的信息是No suitable driver

System.out.print("end");
}
catch(Exception e)
{
e.printStackTrace();
}
}

如果把oracle driver的jar添加到启动class path里就没问题,说明不是jar本身的问题。

2006-01-02 20:47

不要自己动手写jdbc驱动这种低层次代码,用框架或tomcat等容器提供的连接池即可。

2006-01-04 09:31

我想知道如何解决这个问题,而不是该不该自己解决这个问题。

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com