SpringJDBC无法加载JDBC驱动程序类[oracle.JDBC.driver.OracleDriver]

SpringJDBC无法加载JDBC驱动程序类[oracle.JDBC.driver.OracleDriver],spring,oracle,spring-jdbc,Spring,Oracle,Spring Jdbc,我想知道是否有人能帮我做这件事。我在尝试使用SpringJDBC编写代码时遇到了一个问题。当我运行服务器时,我收到了标题中提到的消息。我用谷歌搜索过它,有人说你应该导入ojdbc.jar。但是,我已经导入了它。下面是我的代码: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

我想知道是否有人能帮我做这件事。我在尝试使用SpringJDBC编写代码时遇到了一个问题。当我运行服务器时,我收到了标题中提到的消息。我用谷歌搜索过它,有人说你应该导入ojdbc.jar。但是,我已经导入了它。下面是我的代码:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@192.168.0.13:1521/orcl" />
    <property name="username" value="Hibernate" />
    <property name="password" value="123456" />
    </bean>

</beans>


如果我做错了什么,请提出建议。非常感谢。

请确保您的类路径中添加了ojdbc.jar。如果需要,还可以通过打开.classpath文件对其进行双重检查,并查找ojdbc.jar条目。如果您没有,请从maven repo下载,如下所述:

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
.......

    <repositories>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>

com.oracle
ojdbc6
11.2.0.3
.......
科德尔
https://code.lds.org/nexus/content/groups/main-repo

我刚刚把ojdbc6.jar放在lib目录下的apachetomcat安装目录中

D:\TOOLS\ApacheTomcat服务器\tomcat 8.0\lib


它解决了我的问题。

ojdb6.jar
放在项目的某个文件夹中(让我们使用lib)

试一试


(在类路径中必须有
ojdbc7.jar

在我的例子中,问题是将作用域设置为
运行时

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.0.0.jre8</version>
    <scope>runtime</scope>
</dependency>

com.microsoft.sqlserver
mssql jdbc
7.0.0.jre8
运行时

只需将ojdbc6.jar复制到tomcat/lib文件夹中,如下图所示。

我在InteliJ中解决了这个问题,如下所示:


文件->项目结构->库->单击“+”(添加新)->指向文件系统下的ojdbc.jar路径(以前手动下载或使用某些构建工具)

如果您使用Maven作为构建工具,请在下面添加此依赖项。确保您拥有与数据库版本对应的正确版本的ojdbcXX.jar文件。对我来说,我有一个Oracle11g数据库,因此我使用的是ojdbc6.jar

步骤1)添加依赖项

<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc</artifactId>
   <version>6</version>
   <scope>system</scope>
   <systemPath>C:\Users\AkhileshPC\Downloads\ojdbc6.jar</systemPath>
</dependency>

com.oracle

步骤3)确保ojdbcXX.jar文件在.metadata文件夹中相应项目的WEB-INF\lib文件夹中可用

我的情况是:

C:\Users\AkhileshPC\JavaSpring\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\1007\u Spring\u Mvc\u App\u Crud\WEB-INF\lib


一旦这三个步骤全部完成,问题就应该得到解决

当应用程序运行时,您需要确保ojdbc.jar位于类路径中。例如,如果您正在创建一个web应用程序,那么-ojdbc.jar应该出现在WAR文件的web-INF/lib中。@SergeyMakarov Hi Sergey,感谢您的快速响应。然而,我只是在MyEclipse中测试它……您需要为您的Eclipse项目设置构建路径,这可能会有所帮助-@SergeyMakarov再次感谢您的回复。但是,当我将类内容替换为:“org.apache.commons.dbcp.BasicDataSource”时,它工作得很好。非常奇怪。你是否使用过像maven这样的构建工具?@jagadesh,oracle jdbc.jar不在oracle许可证范围内吗?这就是为什么它不在maven上?还有,如果我在办公室工作时使用它,我会遇到麻烦吗?@kainix,是的,你在工作场所使用它确实有问题。您仍然可以选择将其作为maven工件安装到您的回购协议中并使用它。然而,回到同样的问题上,这是访问这些许可jar的正确方式吗?我无法回答。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:schema_name/123456@192.168.0.13:1521:orcl" />
    <property name="username" value="Hibernate" />
    <property name="password" value="123456" />
    </bean>

</beans>
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:schema_name/123456@192.168.0.13:1521:xe
spring.datasource.username=Hibernate
spring.datasource.password=123456
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.0.0.jre8</version>
    <scope>runtime</scope>
</dependency>
<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc</artifactId>
   <version>6</version>
   <scope>system</scope>
   <systemPath>C:\Users\AkhileshPC\Downloads\ojdbc6.jar</systemPath>
</dependency>