云数据库 GAUSSDB-以非加密方式连接:创建数据库连接的接口介绍

时间:2024-12-06 14:14:35

创建数据库连接的接口介绍

JDBC提供了三种接口,用于创建数据库连接。url、info、user、password参数描述,请参见表1

接口一:DriverManager.getConnection(String url)。该方式需要把数据库用户名、密码写在url中,有一定的安全风险,因此不推荐使用。

接口二:DriverManager.getConnection(String url, String user, String password)。具体请参见采用接口二连接数据库

接口三:DriverManager.getConnection(String url, Properties info)。具体请参见采用接口三连接数据库

表1 数据库连接参数

参数

描述

url

gaussdbjdbc.jar数据库连接描述符。

host为服务器名称或IPv4时,格式如下:

  • jdbc:gaussdb:(数据库名称缺省则与用户名一致)
  • jdbc:gaussdb:database
  • jdbc:gaussdb://host/database
  • jdbc:gaussdb://host:port/database
  • jdbc:gaussdb://host:port/database?param1=value1&param2=value2
  • jdbc:gaussdb://host1:port1,host2:port2/database?param1=value1&param2=value2

host为IPv6时,格式如下:

  • jdbc:gaussdb:(数据库名称缺省则与用户名一致)
  • jdbc:gaussdb:database
  • jdbc:gaussdb://host/database 或 jdbc:gaussdb://[host]/database
  • jdbc:gaussdb://[host]:port/database
  • jdbc:gaussdb://[host]:port/database?param1=value1&param2=value2
  • jdbc:gaussdb://[host1]:port1,[host2]:port2/database?param1=value1&param2=value2
说明:
  • database为要连接的数据库名称。
  • host为数据库服务器名称或IP地址,同时支持IPv4和IPv6。

    由于安全原因,数据库主节点禁止数据库内部其他节点无认证接入。如果要在数据库内部访问数据库主节点,请将JDBC程序部署在数据库主节点所在机器,host使用“127.0.0.1”。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。

    建议业务系统单独部署在数据库外部,否则可能会影响数据库运行性能。

    缺省情况下,连接服务器为localhost。

  • port为数据库服务器端口。

    缺省情况下,会尝试连接到5432端口的database。

  • 当host为IPv6且在url中指定port时,需要通过“[]”分隔IP,如:[IP]:port。
  • param为参数名称,即数据库连接属性。参数可以配置在URL中,以“?”开始配置,以“=”给参数赋值,以“&”作为不同参数的间隔。
  • value为参数值,即数据库连接属性值。
  • 连接时需配置connectTimeout、socketTimeout,如果未配置,默认为0,即不会超时。在DN与客户端出现网络故障时,客户端一直未收到DN侧ACK确认报文,会启动超时重传机制,不断的进行重传。当重传次数达到默认的15次后才会报超时错误,会导致RTO时间很高。
  • 建议使用JDBC标准接口建立连接时,确保url格式的合法性,不合法的url会导致异常,且异常中包含原始url字符串,可能造成敏感信息泄漏。

info

数据库连接属性。全量参数请参见连接参数参考

user

数据库用户名。

password

数据库用户的密码。

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1613.html