我有一个测试 Java 程序尝试连接到数据库,但遇到了奇怪的情况。
目前我的代码使用 jdbc:oracle:thin:@//10.20.30.40:1521/mydb
进行连接,并使用 user
和 password
.
我使用外部程序(在本例中为 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/