如何查找Oracle数据库的URL和端口?

连接Oracle 数据库时报个异常java.sql.SQLException: Listener refused the connection with the following error:
ORA-12518, TNS:listener could not hand off client connection


原因:url错误


原文:https://cloud.tencent.com/developer/ask/68516

如何查找Oracle数据库的URL和端口?

例:

“jdbc:oracle:thin:@host:port:dbName”,“userName”,“password”);

是否有我可以查看的SQL命令或日志/配置文件?


使用oracle,有一个tnsnames.ora定义数据库地址的文件。该文件通常位于$ORACLE_HOME/network/adminOracle客户端(如sqlplus或Toad)中,并被其使用。这是一个示例tns条目:

ORA11 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORA11)
    )
  )

从这个条目你可以看出你的jdbc连接字符串是:

jdbc:oracle:thin:@hostname:1521:ORA11
 
  

通过阅读相关JDBC驱动程序附带的文档。

对于Oracle JDBC瘦驱动程序,你可以在此处找到它。

指定数据库URL,用户名和密码 以下签名将URL,用户名和密码作为单独的参数: getConnection(String URL, String user, String password); URL的格式如下: jdbc:oracle::@ 以下示例使用Thin驱动程序将用户scott和密码tiger通过INSTANCE_NAME或clcl通过主机myhost的端口1521连接到数据库。 Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger"); 如果要为OCI驱动程序使用默认连接,请指定: Connection conn = DriverManager.getConnection ("jdbc:oracle:oci:scott/tiger@"); 要么: Connection conn = DriverManager.getConnection ("jdbc:oracle:oci:@", "scott", "tiger"); 对于所有JDBC驱动程序,您还可以使用Oracle Net关键字 - 值对来指定数据库。Oracle Net关键字 - 值对替代TNSNAMES条目。以下示例使用与上例相同的参数,但采用关键字值格式:Connection conn = DriverManager.getConnection (jdbc:oracle:oci:@MyHostString","scott","tiger");要么: Connection conn = DriverManager.getConnection ("jdbc:oracle:oci:@(description=(address=(host= myhost) (protocol=tcp)(port=1521))(connect_data=(INSTANCE_NAME=orcl)))", "scott", "tiger");

你可能感兴趣的:(Oracle数据库)