【问题标题】:Spring boot oracle connection Invalid Oracle URL specified: OracleDataSource.makeURLSpring boot oracle连接指定的Oracle URL无效:OracleDataSource.makeURL
【发布时间】:2018-09-24 12:33:30
【问题描述】:

在我的 Spring Boot 应用程序中尝试连接到 oracle 数据库时出现以下异常

    java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL
    at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1536)
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:214)
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:184)
    at com.pravaa.apex.MainController.getEmployees(MainController.java:22)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

我的属性文件如下:

    #Oracle connection
    oracle.username=a_test_erd
    oracle.password=somepassword
    oracle.url=jdbc:oracle:thin:@abc.def.com:1521:XE

我的配置类如下:

import java.sql.SQLException;

import javax.sql.DataSource;
import javax.validation.constraints.NotNull;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import oracle.jdbc.pool.OracleDataSource;

@Configuration
@ConfigurationProperties("oracle")
public class OracleConfiguration {
    @NotNull
    private String username;

    @NotNull
    private String password;

    @NotNull
    private String url;

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    @Bean
    DataSource dataSource() throws SQLException {
        OracleDataSource dataSource = new OracleDataSource();
        dataSource.setUser(username);
        dataSource.setPassword(password);
        dataSource.setURL(url);
        dataSource.setImplicitCachingEnabled(true);
        dataSource.setFastConnectionFailoverEnabled(true);
        return dataSource;
    }
}

我尝试了这里提供的解决方案 Invalid Oracle URL specified: OracleDataSource.makeURL 和其他一些帖子。仍然有同样的问题。有人可以帮忙吗?

【问题讨论】:

    标签: spring oracle spring-boot spring-data-jpa


    【解决方案1】:

    您的数据库 URL 中的 @ 之后似乎缺少“//”。试试

    oracle.url=jdbc:oracle:thin:@//abc.def.com:1521:XE
    

    【讨论】:

    • 我按照建议尝试了相同的 oracle.url=jdbc:oracle:thin:@//abc.def.com:1521:XE 仍然得到 2018-04-14 21:25:11.779 INFO 14274 --- [nio-8080-exec-1] osweb.servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化在 13 毫秒内完成 java.sql.SQLException:指定的 Oracle URL 无效:OracleDataSource.makeURL
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多