您的位置:首页 > 编程语言 > Java开发

java用URLClassLoader动态加载JDBC

2009-02-05 13:06 435 查看
最近突然碰见这么一个问题,要从DB2 7上向DB2 8导入数据。这时DB2JAVA.ZIP的版本不一样还要同时执行,只能拿出URLClassLoade这个法宝了。

执行前不要把任何DB2的JdBC当classpath导入

Connection conn = null;

URL url = new URL("file:"+"/usr/db28/db2java8.zip");//要加载的JAR或ZIP包

URLClassLoader urlCL =URLClassLoader.newInstance(new URL[] { url });

Class c =urlCL.loadClass("COM.ibm.db2.jdbc.net.DB2Driver");//加载类

Driver dd= (Driver) c.newInstance();//类的实例化

String dbUrl = "jdbc:db2://1.2.3.4:6789/aaa";//数据库URL

Properties info = new Properties();

info.setProperty("user", "db2inst1");

info.setProperty("password", "password");

conn = dd.connect(dbUrl, info);//获得连接

用这个办法就可以动态加载两个不同版本的DB2 JDBC驱动了。连接池的方式我暂时没有试,不过C3P0至少可以同时加载不同数据库,其实很简单这里懒得说了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: