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至少可以同时加载不同数据库,其实很简单这里懒得说了。
执行前不要把任何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至少可以同时加载不同数据库,其实很简单这里懒得说了。
相关文章推荐
- Java URLClassLoader动态加载外部java代码
- ClassLoader,URLClassLoader,类的动态加载!
- java classLoader动态加载
- 通过URLClassLoader实现动态加载指定路径下所有Jar
- 关于java jdbc 动态加载驱动jar包
- Java ClassLoader动态加载外部java代码
- java代码实现利用 classloader 动态加载 jar包、文件夹到classpath中
- Java运行时动态加载类之ClassLoader方法带参数
- 通过URLClassLoader实现动态加载jar文件
- 【java】动态加载类-URLClassLoader
- Java运行时动态加载类之URLClassLoader
- java classLoader动态加载
- 实现java classloader 动态加载jar包
- java 利用java反射机制动态加载类
- JAVA类的静态加载和动态加载以及NoClassDefFoundError和ClassNotFoundException
- java基础__classLoader 类加载器
- 在Eclipse中配置动态加载Class的JVM插件--JavaRebel
- [转载] Java中动态加载jar文件和class文件
- java 动态加载jar包(推荐一)
- Java实现动态加载读取properties文件