Java代码给出ORA-12514错误,但我可以通过外部程序连接

标签 java oracle10g database-connection

我有一个测试 Java 程序尝试连接到数据库,但遇到了奇怪的情况。

目前我的代码使用 jdbc:oracle:thin:@//10.20.30.40:1521/mydb 进行连接,并使用 userpassword.

我使用外部程序(在本例中为 Toad)使用上面相同的值连接到 10.20.30.40,并且我获得了连接 - 到目前为止效果良好。

现在我更改连接字符串以连接到另一个数据库,例如jdbc:oracle:thin:@//10.20.30.50:1521/anotherdb。我收到以下 SQLException:

Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
The Connection descriptor used by the client was:
//10.20.30.50:1521/anotherdb

但是,当我尝试使用 Toad 连接时,我成功连接了。

我应该如何解决这个问题?

最佳答案

连接字符串需要是

jdbc:oracle:thin:@10.20.30.50:1521:anotherdb

您使用的语法与 MySQL 的语法类似,因此收到错误。

<小时/> 当使用 Java 连接到数据库(使用 JDBC)时,数据库供应商提供的 JDBC 驱动程序使用并确定连接字符串格式。因此,它们不能在不同数据库之间移植。

关于Java代码给出ORA-12514错误,但我可以通过外部程序连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19309408/

相关文章:

Python:从Thread调用时解密失败或错误记录mac

类似于ZPT(属性语言)的Java模板库

java - 如何将 Java 函数转换为 C 函数?

java - Apache http 客户端 4.4 : HostnameVerifier transition from 4. 3.x

sql - 在 Oracle 上选择字符串作为数字

java - java和oracle XE之间的OCI和THIN驱动连接与数据源连接有什么区别?

python mysql数据库连接错误

java - @CascadeOnDelete 和 CascadeType.REMOVE 注解有什么区别?

compiler-errors - 缺少括号错误Oracle ORA-00907

oracle - 如何返回新插入的记录列值