Java JDBC-无法使用服务名称连接到Oracle
我一直在尝试使用JDBCthin驱动程序,用以下语法连接到这个Oracle数据库:Java JDBC-无法使用服务名称连接到Oracle,java,oracle,jdbc,connection-string,service-name,Java,Oracle,Jdbc,Connection String,Service Name,我一直在尝试使用JDBCthin驱动程序,用以下语法连接到这个Oracle数据库: var URL = "jdbc:oracle:thin:@//16.161.286.56:1522/Service_Name"; var USER = "user"; var PASS = "password"; var conn = Jdbc.getConnection(URL, USER, PASS); 当我执行此命令时,我一直有相同的响应: 很抱歉,发生了服务器错误。请稍等,然后重试。[87a99af]
var URL = "jdbc:oracle:thin:@//16.161.286.56:1522/Service_Name";
var USER = "user";
var PASS = "password";
var conn = Jdbc.getConnection(URL, USER, PASS);
当我执行此命令时,我一直有相同的响应:
很抱歉,发生了服务器错误。请稍等,然后重试。[87a99af]
有人知道我做错了什么吗
另外,当我将IP地址更改为“字符串版本”时:
var URL = "jdbc:oracle:thin:@//mydomain.com:1522/Service_Name";
然后我得到错误响应:
未能建立数据库连接。检查连接字符串、用户名和密码
这对我来说没有意义,因为这两个表达式应该是等效的…使用服务名称的Oracle JDBC连接的实际格式是:
@//主机名:端口号/服务名
确保这是服务名称并没有问题。
你可以试试TNSNameListener
jdbc:oracle:thin:@(description=(address=(host=)(protocol=tcp)(port=)(connect\u data=(service\u name=)(server=))
tnsnamListener文件位置:
<ORACLE_HOME>\network\admin\tnsnames.ora
example: /home/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
\network\admin\tnsnames.ora
示例:/home/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
我不确定Jdbc是哪个类。查看和是否有可添加的stacktraces/sql错误代码?另外,请确保该域实际上可以被解析。相关:Hi@markrotterveel谢谢你的回答。在问我的问题之前,我偶然发现了这个问题。我想可能是因为我尝试连接的Oracle服务器可能没有Google脚本IP范围的白名单,所以出现了服务器错误。。。。。今天我将探讨这个解决方案。尽管如此,我还是不明白为什么通过IP地址号版本更改域名会给我一个不同的响应hi@Sanower Tamjit。我使用的语法与您在第一行中所说的完全相同:@//host\u name:port\u number/service\u name还尝试了使用TNSNameListener的第二个版本,但它一直说传递给.getConnection()的参数URL无效您的服务名称是什么?