【问题标题】:JDBC Driver class not found: oracle.jdbc.OracleDriver找不到 JDBC 驱动程序类:oracle.jdbc.OracleDriver
【发布时间】:2011-09-19 23:25:06
【问题描述】:

我安装了第三方 java webservice,它使用 Oralce jdbc 瘦驱动程序将数据写入 Oracle 数据库。当我运行它时,我收到以下错误;

找不到 JDBC 驱动程序类:oracle.jdbc.OracleDriver

我已经安装了 oracle 并将类路径变量设置为以下值:

*D:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.jar;D:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.zip;D:\oracle \product\10.2.0\client_1\jdbc\lib\ojdbc14.jar;D:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.zip;C:\Program Files\Java\jdk1.7.0\ jre\lib\rt.jar*

和路径变量到下一个值;

*D:\oracle\product\10.2.0\client_1\bin;C:\Program Files\Java\jdk1.7.0\bin\;D:\oracle\product\10.2.0\client_1\jdbc\lib \classes12.jar;D:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.zip;D:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.jar;D:\ oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.zip*

有什么建议为什么 Web 服务无法识别 jdbc 驱动程序?

谢谢

【问题讨论】:

  • 您究竟是如何执行 Web 服务的?
  • 您如何/在哪里注册 oracle 驱动程序(并复制/粘贴 exact 错误消息和您得到的堆栈跟踪)
  • @BalusC:我正在执行它是 Windows 服务。这实际上是由第三方供应商提供的。我刚刚用数据库连接字符串更新了配置文件并运行了服务
  • @nos:我收到此错误消息:.跨度>
  • 只要我们对该网络服务一无所知,就很难发布答案。至少,您不应该将PATHCLASSPATH 混淆。操作系统平台特定的PATH 环境变量与类路径无关。它应该代表操作系统必须在其中查找可执行文件的磁盘文件系统路径的集合。特定于 Java 的 CLASSPATH 环境变量仅供 Java 使用,它表示 Java 必须在其中查找类的磁盘文件系统路径的集合。

标签: oracle jdbc


【解决方案1】:

我知道将 Java 应用程序转换为 Windows 服务的 2 种方法,但都不使用 CLASSPATH。一个是Java Service Wrapper by Tanuki Software。此工具使用wrapper.conf,您可以在其中显示带有.jar 库的目录:

# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=c:\jars\*
wrapper.java.classpath.2=myservice.jar

我知道的第二个工具是JSL: Java Service Launcher。在这个工具中有jsl.ini,您可以在其中放置命令行来运行您的服务器。它可以使用带有-cp 选项的java 来显示.jar 库的位置:

[defines]
MY_LIBS=d:\jars\*
AXIS_LIBS=d:\axis2-1.5.4\lib\*
CLASSPATH=.;%MY_LIBS%;%AXIS_LIBS%
export = CLASSPATH
...

[java]
...
cmdline = -Dfile.encoding=utf8 -cp %CLASSPATH% example.my.server

在这两种配置中,您都可以使用* 添加所有.jar 文件,或者您可以一个一个地显示这些文件(就像在CLASSPATH 中一样)。

首先,您应该知道 Windows 试图执行什么。在服务属性页面中检查它。然后尝试本地化其配置。如果它使用我知道的工具之一,那么您知道要更改什么。其他工具可能有类似的配置。

【讨论】:

    【解决方案2】:

    方法一: 下载ojdbc.jar

    将 ojdbc6.jar 添加到部署程序集。 右键单击项目->属性->选择部署程序集->单击“添加” ->选择“文件系统中的存档”->浏览到保存ojdbc6.jar的文件夹。->添加jar->单击完成->应用/确定。

    方法二:

    如果您想将 ojdbc.jar 添加到您的 maven 依赖项中,请点击以下链接: http://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ . . 即使您使用的是 maven 项目,也无需将 ojdbc 添加到 maven 依赖项(方法 2),方法 1(直接添加到部署程序集)也可以。

    【讨论】:

      【解决方案3】:

      确保您拥有 ojdbc jar 文件(确保您使用的是正确的,因为根据 Java 版本,您可能需要选择不同的)。

      对 Java 1.4 使用 ojdbc14.jar 对 Java 1.5 使用 ojdbc5.jar Java 1.6 的 ojdbc6.jar 这是linke,您可以在其中下载ojdbc6.jar文件 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

      【讨论】:

        【解决方案4】:

        您还必须将 jdbc jar 添加到您的服务器类路径中。如果是tomcat,右键单击您的项目->运行方式->运行配置,单击类路径并在添加外部jar选项中添加您的jdbc jar

        【讨论】:

          【解决方案5】:

          将 ojdbc-6.jar 添加到你的 tomcat 安装的 lib 目录中。 Maven 会在 .m2 目录中为你下载这个 jar,但你也需要在 tomcat lib 中有这个 jar。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-05
            • 1970-01-01
            • 2011-04-12
            • 2015-06-15
            • 2013-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多