指定的Oracle URL无效:OracleDataSource.makeURL

时间:2009-08-26 07:14:34

标签: java oracle

我正在尝试连接到本地oracle数据库,但是我收到了这个神秘的错误消息: Invalid Oracle URL specified: OracleDataSource.makeURL

我很确定这是由于我传递的数据库连接参数出错,但实际上,此错误消息对我没有任何帮助。任何有关我做错的提示都将不胜感激。

仅供参考:以下是用于连接的代码,但硬编码字符串除外,这是我们的生产环境中使用的,并且在那里工作。

OracleDataSource dataSource = new OracleDataSource();
 dataSource.setServerName("localhost");
 dataSource.setUser(userName);
 dataSource.setPassword(password);
 dataSource.setDatabaseName("orcl");
return dataSource.getConnection();

3 个答案:

答案 0 :(得分:17)

令人惊讶的是,在将以下两行添加到创建连接的代码之后,它起作用了。

dataSource.setPortNumber(1521);
dataSource.setDriverType("thin");

我不明白为什么我们之前没有遇到过这个问题,但这可能与我的本地安装有关。我最大的好处是错误消息没有提供有关错误的任何细节。

答案 1 :(得分:10)

如果你使用setUrl(或者你的容器就像glassfish那样)

确保使用正确的语法

==== 注意@ 之前的冒号====

JDBC:预言:瘦:@localhost:1521:SID

JDBC:预言:瘦:@localhost:1521 /服务名

如果语法出现问题,数据源类会尝试解析它并提供神秘错误

答案 2 :(得分:1)

WildFly 用户(当前为v14.0.1.Final)。

您需要为数据源添加additional parameters

  

数据源->连接->连接属性

driverType = thin (按Enter键即可)。

还要仔细检查您使用的数据源类型是否正确。就我而言,问题是通过创建XA DataSource并将URL传递给参数来解决的。