无法连接到数据库
步骤 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 或域名 localhost 。
数据库 :您希望连接的数据库名称。 您可以在数据库服务器的设置中查找数据库名称,或向数据库管理员咨询。 在某些情况下,您可以在数据库命令行中运行查询来查看所有可用数据库的名称。 例如,在 MySQL 中,您可以运行
SHOW DATABASES;。
用户 :具有足够权限可对数据库执行操作的用户名称。 在数据库命令行中运行查询,以查看所有可用数据库的名称。 例如,在 MySQL 中,您可以运行
SHOW GRANTS;。
密码 :用户的密码。
端口 :用于标识主机之间连接点的数字。 主机使用端口号来确定应创建到哪个应用、服务或进程的连接。 不同数据库厂商为其数据库使用不同的端口。 下表列出了默认端口号。
厂商
默认端口
Amazon Redshift
5439
Apache Derby
1527
Apache Cassandra
9042
Apache Hive
10000(Hive Server2)或 9083(Hive Metastore)
Azure SQL 数据库
1433
ClickHouse
8123
Couchbase 查询 查询服务
11210
Exasol
8563
Greenplum
5432
H2
8082
HSQLDB
9001
IBM Db2 LUW
50000
MariaDB
3306
Microsoft SQL Server
1433(TCP),1434(可能需要 UDP)
MySQL
3306
Oracle
1521
PostgreSQL
5432
Snowflake
443
SQLite
无
Sybase ASE
5000
Vertica
5433
步骤 3。 检查驱动版本
通过 JDBC 驱动程序,您可以从 WebStorm 与数据库管理系统(DBMS)交互。 每个 DBMS 都需要其专有的 JDBC 驱动程序。 请确保驱动程序版本与 DBMS 版本兼容。
在 WebStorm 中,您可以下载所有支持厂商的驱动程序。 您可以在 驱动程序 列表中查看完整的支持厂商列表。 或者,您可以将自己的驱动程序添加到现有厂商,或为不在 驱动程序 列表中的厂商创建新的驱动程序条目。
要打开 驱动程序 列表,请在 数据库 工具窗口( )中,单击 数据源属性 图标 ,或按 Shift+Enter。
下载驱动并选择驱动版本
要从 JetBrains FTP 服务器下载驱动程序,请在 驱动程序 列表中选择厂商,然后在 驱动程序文件 面板中点击 下载版本 <version_number> 链接。
要更改驱动程序版本,请在 驱动程序文件 面板中点击 版本 <version_number> 链接,并选择所需的驱动程序版本。

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

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

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

在 数据源 选项卡中,选择要修改的数据源。
点击 SSH/SSL 选项卡并勾选 使用SSL(L) 复选框。
在 CA 文件(A) 字段中,导航到 CA 证书文件(例如 mssql.pem )。
您可以不填写证书文件字段,而使用信任库从其包含的证书中获取所需证书。 为此,请勾选 使用 truststore 复选框并选择要使用的信任库。
IDE :使用 IDE 接受的证书。 您可以在 中添加新的已接受证书。
JAVA :使用 JAVA 信任库证书。
系统 :使用系统信任库证书。
在 客户端证书文件 字段中,导航到客户端证书文件(例如 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 是一种网络协议,用于加密客户端与服务器之间的连接。
在 WebStorm 中,可以使用以下方式之一创建 SSH 连接:
使用 WebStorm SSH 隧道。 IDE 将使用您设置的 SSH 配置创建 SSH 隧道。
WebStorm SSH 隧道
WebStorm 可根据您设置的 SSH 配置创建 SSH 隧道。 要访问 SSH 配置设置,请按 Ctrl+Alt+S 打开设置,然后选择 工具 | SSH 配置。
要为数据源使用 SSH 隧道,请在 数据源和驱动程序 对话框的 SSH/SSL 选项卡中选中 使用 SSH 隧道 复选框(Shift+Enter)。
项目中的所有数据源共享所有已创建的 SSH 连接。 如果不希望在项目之间共享连接,请在 SSH 连接设置中选中 仅对此项目可见 复选框。
使用 SSH 连接到数据库
通过以下任一操作打开数据源属性:
在 数据库 工具窗口工具栏上,单击
数据源。
按 Shift+Enter。

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

单击 确定 以创建数据源。

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

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

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

使用 ssh-agent(macOS 和 Linux)创建 SSH 隧道
在命令行中运行 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。 如果仍需帮助,请写信给我们
写信给 WebStorm 团队
通过 webstorm-support@jetbrains.com 向我们团队发送电子邮件。 请描述您的问题,并附上可加快故障排除过程的所有可用材料(代码示例、屏幕截图、日志、动画、视频及其他材料)。
有关其他故障排除资源的详细信息,请参阅 支持与协助。