CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

注册Db2驱动程序的奇怪问题DriverManager.registerDriver

楼主huijunzi(Cyril)2005-03-03 22:43:37 在 Java / J2EE / EJB / JMS 提问

我用如下函数来注册DB2的驱动程序  
  第一次进入,该函数运行正常  
  其中drivers="COM.ibm.db2.jdbc.app.DB2Driver"  
  url="jdbc:db2:TEST"  
  当第二次进入时,我本意   if   (DriverManager.getDriver(url)   !=   null)不应该返回为null,从而不需要再注册一次,但是实际上第二次进入时   if   (DriverManager.getDriver(url)   !=   null)还是返回了为null,从而导致整个逻辑不正常,  
  错误为:无法注册驱动程序:COM.ibm.db2.jdbc.app.DB2Driver  
  Caused   by:   java.sql.SQLException:   java.lang.UnsatisfiedLinkError:   Native   Library   C:\Program   Files\SQLLIB\bin\db2jdbc.dll   already   loaded   in   another   classloader  
  同样的过程,装载oracle一切正常,if   (DriverManager.getDriver(url)   !=   null)能返回正确的结果  
  请问各位,是什么原因造成的呢?  
        private   void   registeDriver()   throws   DBException  
        {  
              if   (drivers   !=   null)  
              {  
                    try  
                    {  
                          if   (DriverManager.getDriver(url)   !=   null)  
                          {  
                                //驱动程序已经注册  
                                drivers   =   null;  
                                return;  
                          }  
                    }  
                    catch   (SQLException   ex)  
                    {  
                          //获得驱动程序失败,说明未注册适合的驱动程序,  
                          //在下面注册驱动程序,不抛出异常  
                    }  
                    try  
                    {  
                          //注册驱动程序  
                          Driver   driver   =   (Driver)   Class.forName(drivers).newInstance();  
                          DriverManager.registerDriver(driver);  
                    }  
                    catch   (Exception   ex)  
                    {  
                          log(ex,   "无法注册驱动程序:"   +   drivers);  
                          throw   new   DBException("无法注册驱动程序:"   +   drivers,   ex);  
                    }  
                    drivers   =   null;  
              }  
        } 问题点数:0、回复次数:1Top

1 楼shenhai800(深海)回复于 2005-03-17 16:46:02 得分 0

看你的db2驱动包中是否有COM.ibm.db2.jdbc.app.DB2Driver?Top

相关问题

  • OLE DB驱动程序和ODBC驱动程序什么区别?
  • 驱动 驱动
  • 驱动
  • 为什么我安装了oracle9i在odbc驱动程序中找不到Oracle Provider for OLE DB驱动?
  • 关于oracle9i的ADO OlE DB for oracle的驱动程序问题
  • 有人知道SQL Server的OLE DB驱动怎么打包吗?????
  • 谁能给我一个 OLE DB for Interbase 驱动?
  • 有没有SYBASE专用的OLE DB驱动程序?哪儿下载?
  • Oracle客户端安装后没有Ole DB驱动程序,是怎么回事???
  • .db 的数据库用什么打开?驱动用的是Sybase SQL Anywhere 5.0

关键词

  • 驱动
  • 注册
  • db
  • jdbc
  • ibm
  • null
  • 驱动程序
  • drivermanager
  • db2
  • getdriver

得分解答快速导航

  • 帖主:huijunzi

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo