无法连接到数据库
第 1 步. 检查您的网络设置
数据库可以本地工作、在服务器上工作或在云端工作。 对于服务器和云数据库,您需要网络连接。 要验证连接是否可用,请使用 ping 和 telnet 命令。
使用 ping 命令,您可以确保目标计算机可以从源计算机访问。 打开命令行并输入以下命令: ping -a <host_IP> ,其中 -a 是一个命令选项,用于将地址解析为主机名(如果可能的话)。 如果您在 ping 命令中使用主机名,则主机名将解析为 IP 地址。 例如, ping -a example.com 解析为 PING example.com (93.184.216.34)。

使用 telnet 命令,您可以测试与远程计算机的连接并发出命令。 如果您将端口作为 telnet 命令的参数指定,您可以测试与给定端口上远程主机的连接性。 如果连接成功,您会看到消息: Connected to <host_IP>。

第 2 步. 检查您的连接属性
每个数据库(MySQL、PostgreSQL、Oracle或任何其他供应商)都有自己的连接设置。 大多数数据库包括以下连接设置:
主机 :存储数据库的计算机或其他设备的主机名。 它可以是一个 IP 地址 127.0.0.1 或一个域名 本地主机 。
数据库 :您想要连接的数据库名称。 您可以在数据库服务器的设置中找到数据库名称,或者可以询问您的数据库管理员。 在某些情况下,可以在数据库命令行中运行查询以查看所有可用数据库的名称。 例如,在 MySQL 中,您可以运行
SHOW DATABASES;。
用户 :具有足够权限执行数据库操作的用户的名称。 在数据库命令行中运行查询以查看所有可用数据库的名称。 例如,在 MySQL 中,您可以运行
SHOW GRANTS;。
密码 :用户的密码。
端口 :用于标识主机之间连接点的编号。 主机使用端口号来确定必须与哪个应用程序、服务或进程建立连接。 不同的数据库供应商为其数据库使用不同的端口。 以下列表是默认端口号列表。
供应商
默认端口
%redshift%
5439
%derby%
1527
%cassandra%
9042
%hive%
10000(Hive 服务器2)或 9083(Hive Metastore)
%azure_sql%
1433
%clickhouse%
8123
%couchbase% 查询服务
11210
%exasol%
8563
%greenplum%
5432
%h2%
8082
%hsqldb%
9001
%db2%
50000
%mariadb%
3306
%microsoft_sql%
1433 (TCP),1434 (UDP可能需要)
%mysql%
3306
%oracle%
1521
%postgresql%
5432
%snowflake%
443
%sqlite%
无
%sybase%
5000
%vertica%
5433
第 3 步. 检查驱动程序版本
有了 JDBC 驱动程序,您就可以与 JetBrains Rider 中的数据库管理系统 (DBMS) 进行交互。 每个 DBMS 需要自己的 JDBC driver。 确保驱动程序版本和 DBMS 版本彼此兼容。
从 JetBrains Rider,您可以下载所有受支持厂商的驱动程序。 您可以在 驱动程序 列表中查看支持供应商的完整列表。 或者,您可以将自己的驱动程序添加到现有供应商,或为不在 驱动程序 列表上的供应商创建新的驱动程序条目。
要打开 驱动程序 列表,请在 数据库 工具窗口( )中,点击 数据源属性 图标 或按 Shift+Enter。
下载驱动程序并选择驱动程序版本
要从 JetBrains FTP 服务器下载驱动程序,请从 驱动程序 列表中选择供应商,并点击 下载版本 <version_number> 链接 驱动文件 窗格中的链接。
要更改驱动程序版本,请点击 版本 <version_number> 链接在 驱动文件 面板中并选择您需要的驱动程序版本。

使用用户驱动文件
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

在 数据源和驱动程序 对话框中,确保您位于 驱动程序 选项卡。
在 数据源和驱动程序 对话框中,点击 添加 图标(
)。
在 名称 字段中,输入驱动程序的名称。
在 驱动程序文件 面板中,点击 添加 图标(
)并选择 自定义JAR…。
请导航到 JDBC 驱动程序的 JAR 文件,选择它,并点击 确定。
在 类 字段中,指定您想要用于驱动程序的值。
单击 应用(A)。
要从驱动程序对话框中创建数据源,请点击 创建数据源。
为现有数据源配置 JDBC 驱动程序
您可以向现有驱动程序添加库,或完全替换驱动程序。
为了正常工作,一些 JDBC 驱动程序需要与驱动程序一同提供库文件的路径。 有关库路径的更多信息,请参阅 用户驱动程序的库路径。
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

点击数据源设置中的 驱动程序 链接并选择 转到驱动程序。
点击所提供的驱动程序条目,然后点击 移除 (
)。
要撤销更改,点击窗口右下角的 回滚更改 图标(
)。
在 驱动程序文件 面板中,点击 添加 图标(
)并选择 自定义JAR…。
在文件浏览器中,导航到 JDBC 驱动的 JAR 文件,选择它,然后点击 确定。
在 类 字段中,指定您想要用于驱动程序的值。
驱动程序类是 JDBC 驱动程序的驱动程序特定主类。 对于您使用的 JDBC 驱动程序的适当驱动程序类,请参考驱动程序的文档。
如果您的自定义驱动程序需要额外的属性,请转到对话框中的 高级 选项卡。 在属性窗格中,在 名称 和 值 列的最后一行中输入额外属性的名称和值,其中显示了 <user defined> 和 <value>。
单击 应用(A)。
步骤 4。 (仅限 Windows)检查临时目录路径是否包含非 ASCII 字符
目前,临时目录路径不应包含非 ASCII 字符。 如果包含,您可以通过以下方法之一解决问题:
打开 Windows 控制面板并导航到 或 Windows 10 的 。 在 非 Unicode 程序的语言 部分,将语言更改为您的本地语言。
为了让 Java 使用仅包含 ASCII 字符的另一个临时目录路径,请在 IDE 中转到 并将
-Djava.io.tmpdir=<ASCII_characters_only_temp_directory_path>添加到 rider.vmoptions 文件中。
步骤 5。 检查是否需要使用 SSH 或 SSL 连接
为使与数据库的连接更安全,某些服务要求使用 SSH 或 SSL。
SSL
以下过程介绍适用于大多数数据库的 SSL 配置。 对于某些数据库,您需要使用其他方法才能成功连接。 您可以在 DataGrip 文档中查看 Cassandra 和 Heroku Postgres 的配置示例。
使用 SSL 连接到数据库
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

在 数据源 选项卡上,选择您想要修改的数据源。
单击 SSH/SSL 选项卡,并选中 使用SSL(L) 复选框。
在 CA 文件(A) 字段中,导航到 CA 证书文件(例如, mssql.pem )。
您可以将证书文件字段留空,并使用信任库从其包含的证书中获取所需证书。 为此,请勾选 使用信任存储 复选框,并选择您要使用的信任库。
IDE :使用 IDE 接受的证书。 您可以在 中添加新的已接受证书。
JAVA :使用 JAVA truststore 证书。
系统 :使用 System 信任库证书。
在 客户端证书文件 字段中,导航到客户端证书文件(例如, client-cert.pem )。
在 客户端密钥文件(K) 字段中,导航到客户端密钥文件(例如, client-key.pem )。
从 模式 列表中选择验证模式:
需要
验证服务器是否识别客户端证书(如果提供证书)。
验证CA
验证服务器是否识别客户端证书(如果提供证书)。
通过检查证书链直至存储在客户端的根证书来验证服务器。
全面验证
验证服务器是否识别客户端证书(如果提供证书)。
通过检查证书链直至存储在客户端的根证书来验证服务器。
验证服务器主机以确保其与存储在服务器证书中的名称匹配。
如果任一证书无法验证,SSL 连接将失败。
要确保与数据源的连接成功,请点击 测试连接。

禁用与数据库的 SSL 连接
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

在 数据源 选项卡上,选择您想要修改的数据源。
单击 SSH/SSL 选项卡,并清除 使用SSL(L) 复选框。
单击 应用。
从其他数据源复制 SSL 设置
如果您已为一个数据源配置了 SSL 设置,您可以将其复制到另一个数据源。
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

在 数据源 选项卡上,选择您想要修改的数据源。
单击 SSH/SSL 选项卡,并选中 使用SSL(L) 复选框。
点击 复制自… 链接并选择您想要复制的配置。
SSH
Secure Shell(SSH)是一种用于加密客户端与服务器之间连接的网络协议。
在 JetBrains Rider 中,您可以通过以下方式之一创建 SSH 连接:
使用 JetBrains Rider SSH 隧道。 IDE 将使用您设置的 SSH 配置创建 SSH 隧道。
JetBrains Rider SSH 隧道
JetBrains Rider 可以基于您设置的 SSH 配置创建 SSH 隧道。 要访问 SSH 配置设置,请按 Ctrl+Alt+S 打开设置并选择 工具 | SSH 配置。
要为数据源使用 SSH 隧道,请在 SSH/SSL 选项卡的 数据源和驱动程序 对话框(Shift+Enter )中选中 使用 SSH 隧道 复选框。
所有已创建的 SSH 连接会在项目中的所有数据源之间共享。 如果您不希望在项目之间共享连接,请在 SSH 连接设置中选中 仅对此项目可见 复选框。
使用 SSH 连接到数据库
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

选择一个您想要设置 SSH 连接的数据源。
单击 SSH/SSL 选项卡,并选中 使用SSH 隧道(H) 复选框。
单击
添加SSH 配置。
在 SSH 配置 对话框中,单击 添加 按钮。
如果您不想在项目之间共享配置,请选择 仅对此项目可见 复选框。
在 主机 和 端口 字段中,指定您的连接详细信息。
在 用户名(U) 字段中输入您的用户名。
在本教程中,我们使用加密的私钥文件和公钥文件进行身份验证。 在 身份验证类型(Y) 列表中,您可以选择一种身份验证方法:
密码 :使用密码访问主机。 要将密码保存在 JetBrains Rider 中,请选中 保存密码 复选框。
密钥对(OpenSSH 或 PuTTY) :使用 SSH 认证与密钥对。 要应用此身份验证方法,您必须在客户端计算机上拥有私钥,并在远程服务器上拥有公钥。 JetBrains Rider 支持使用 OpenSSH 工具生成的私钥。
指定存储您 私钥 的文件路径,并在相应字段中输入密码短语(如果有)。 要让 JetBrains Rider 记住该密码短语,请选中 保存密码短语(E) 复选框。
OpenSSH 配置和身份验证代理 :使用管理您的 SSH 密钥的凭据助手应用程序,例如 ssh-agent 或 Pageant(仅限 Windows)。
点击 测试连接 以运行测试连接。
在 SSH 配置 对话框中,点击 确定 以确认新的 SSH 配置设置。
在 数据源和驱动程序 对话框的 本地端口 字段中,指定您希望用于转发连接的本地端口号。 否则,JetBrains Rider 会动态选择端口。
点击连接详细信息区域底部的 测试连接 链接以启动到数据库的测试连接。

请点击 确定 以创建数据源。

示例
有关使用 SSH 连接到数据库的示例,请参阅 使用 SSH 连接到数据库 主题。
禁用 SSH 连接到数据库
通过以下任一方式打开数据源属性:
在 数据库 工具窗口工具栏上,点击
数据源。
请按 Shift+Enter.

选择您要更改连接设置的数据源配置文件。
单击 SSH/SSL 选项卡,并清除 使用SSH 隧道(H) 复选框。
单击 应用。
手动创建 SSH tunnel
使用 PuTTY 创建 SSH 隧道(Windows)
下载并运行最新版本的 PuTTY SSH 和 Telnet 客户端(从 https://www.putty.org/ 下载客户端)。
在 PuTTY 配置 对话框中,导航到 。
在 用于身份验证的私钥文件 字段中,指定您的私钥文件路径,然后单击 打开。
在命令行窗口中,指定用于 SSH 隧道的用户名,然后按 Enter。 请勿关闭命令行窗口。
在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择您要更改连接设置的数据源配置文件。
单击 SSH/SSL 选项卡,并选中 使用 SSH 隧道 复选框。
请从 身份验证类型 列表中选择 OpenSSH 配置与认证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
要确保与数据源的连接成功,请点击 测试连接。

使用 Pageant 创建 SSH 隧道(Windows)
Pageant 是用于 PuTTY、PSCP、PSFTP 和 Plink 的 SSH 身份验证代理。 Pageant 会存储您的私钥,只要它在运行,就会向 PuTTY 或类似 JetBrains Rider 的其他工具提供已解锁的私钥。 您可以在 Windows 任务栏中找到 Pageant 图标。
下载最新版本的 Pageant(从 https://www.putty.org/ 下载客户端)。
在 Windows 任务栏中,右键单击 Pageant 图标,并选择 添加密钥。
在 选择私钥文件 对话框中,导航到私钥文件(PPK 文件),然后单击 打开。
(可选)输入私钥的密码短语,然后按 Enter。
在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择您要更改连接设置的数据源配置文件。
单击 SSH/SSL 选项卡,并选中 使用 SSH 隧道 复选框。
请从 身份验证类型 列表中选择 OpenSSH 配置与认证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
要确保与数据源的连接成功,请点击 测试连接。

使用 ssh-agent 创建 SSH 隧道(macOS 和 Linux)
在命令行中运行所有与 ssh-agent 相关的命令。
确保 ssh-agent 正在运行。
ssh-agent将您的密钥添加到代理中(在以下示例中,密钥路径为 ~/.ssh/id_rsa )。
ssh-add ~/.ssh/id_rsa(可选)在 macOS 上,您可以在
ssh-add命令中添加-K选项,以将密码短语存储在钥匙串中。 在 macOS Sierra 及更高版本上,您需要在 ~/.ssh/ 中创建 config 文件,并包含以下文本:Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa如果 .ssh 目录中还有其他私钥,请为每个密钥添加一行
IdentityFile。 例如,如果第二个密钥的名称为 id_ed25519 ,请为第二个私钥另加一行IdentityFile ~/.ssh/id_ed25519。列出所有已添加的密钥。
ssh-add -L在 数据库 工具窗口中,点击工具栏上的 数据源属性 图标
。
选择您要更改连接设置的数据源配置文件。
单击 SSH/SSL 选项卡,并选中 使用 SSH 隧道 复选框。
请从 身份验证类型 列表中选择 OpenSSH 配置与认证代理。
在 代理主机、 代理用户 和 端口 字段中,指定连接详情。
要确保与数据源的连接成功,请点击 测试连接。

步骤 6。 如果您仍然需要帮助,请联系我们
联系 JetBrains Rider 团队
联系我们的支持团队——单击 提交请求 ,访问 JetBrains Rider 支持网站。 请描述您的问题,并附上所有可用的 可加快故障排查的材料 (代码示例、屏幕截图、日志、动画、视频以及其他材料)。
如需了解更多其他故障排除资源的信息,请参阅。
WSL 中的数据源
如果数据库在 WSL 中,请打开 数据源和驱动程序 对话框(Shift+Enter ),确保 环境 字段设置为 开发容器。
