华为云云数据库rds通过JDBC连接RDS for PostgreSQL实例_云淘科技
通过JDBC连接实例的方式有无需下载SSL证书连接和用户下载SSL证书连接两种,其中使用SSL证书连接通过了加密功能,具有更高的安全性。
前提条件
用户需要具备以下技能:
熟悉计算机基础知识。
了解java编程语言。
了解JDBC基础知识。
驱动获取及使用
JDBC驱动下载地址:https://jdbc.postgresql.org/download/
JDBC接口使用指南请参考:https://jdbc.postgresql.org/documentation/
使用SSL证书连接
该方式属于SSL连接模式,需要下载SSL证书,通过证书校验并连接数据库。
您可以在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“数据库信息”模块“SSL”处的
,下载根证书或捆绑包。
通过JDBC连接PostgreSQL数据库,代码中的JDBC链接格式如下:
jdbc:postgresql://:/?sslmode=verify-ca&sslrootcert=
|
参数 |
说明 |
|---|---|
|
|
如果通过弹性云服务器连接,“instance_ip”是主机IP,即“基本信息”页面该实例的“内网地址”。 |
|
如果通过连接了公网的设备访问,“instance_ip”为该实例已绑定的“弹性公网IP”。 |
|
|
|
端口,默认5432,当前端口,参考“基本信息”页面该实例的“数据库端口”。 |
|
|
数据库名,即需要连接的数据库名(默认的管理数据库是postgres)。 |
|
sslmode |
ssl连接模式。 verify-ca:表示我想要对数据加密,并且我接受因此带来的负荷。我想要确保我连接到的是我信任的服务器。 其他可选项请参考:https://jdbc.postgresql.org/documentation/use/#connection-parameters/。 |
|
sslrootcert |
ssl连接CA证书路径,参数详情请参考https://jdbc.postgresql.org/documentation/use/#connection-parameters/。 |
连接PostgreSQL数据库的java代码,可参考以下示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MyConnTest {
final public static void main(String[] args) {
Connection conn = null;
// set sslmode here.
// with ssl certificate and path.
String url = "jdbc:postgresql://192.168.0.225:5432/my_db_test?sslmode=verify-ca&sslrootcert=/home/Ruby/ca.pem";
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, "root", "password");
System.out.println("Database connected");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Test failed");
} finally {
// release resource ....
}
}
}
无证书连接
该方式属于SSL连接模式,但不对服务端进行证书校验,用户无需下载SSL证书。
通过JDBC连接RDS for PostgreSQL数据库实例,代码中的JDBC链接格式如下:
jdbc:postgresql://:/?sslmode=disable
|
参数 |
说明 |
|---|---|
|
|
如果通过弹性云服务器连接,“instance_ip”是主机IP,即“基本信息”页面该实例的“内网地址”。 |
|
如果通过连接了公网的设备访问,“instance_ip”为该实例已绑定的“弹性公网IP”。 |
|
|
|
端口,默认5432,当前端口,参考“基本信息”页面该实例的“数据库端口”。 |
|
|
数据库名,即需要连接的数据库名(默认的管理数据库是postgres)。 |
|
sslmode |
ssl连接模式。 disable:表示我不关心安全性,也不想为加密支付开销。 其他可选项请参考:https://jdbc.postgresql.org/documentation/use/#connection-parameters/。 |
连接PostgreSQL数据库的java代码,可参考以下示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MyConnTest {
final public static void main(String[] args) {
Connection conn = null;
// set sslmode here.
// no ssl certificate, so do not specify path.
String url = "jdbc:postgresql://192.168.0.225:5432/my_db_test?sslmode=disable";
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, "root", "password");
System.out.println("Database connected");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Test failed");
} finally {
// release resource ....
}
}
}
父主题: 连接实例
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家