PL/SQL Developer是Oracle数据库开发人员最常用的集成开发环境(IDE)之一,其强大功能的基石便是能够稳定、高效地建立与目标数据库的连接,掌握如何配置和连接数据库是每一位使用者的首要技能,本文将详细、系统地介绍在PL/SQL Developer中连接数据库的多种方法、准备工作以及常见问题的解决方案。

连接前的准备工作
在尝试连接之前,确保你的工作环境已经准备就绪,这可以避免后续许多不必要的麻烦。
安装必要的软件:
- PL/SQL Developer:确保已正确安装并可以正常启动。
- Oracle客户端:这是关键,PL/SQL Developer本身不包含数据库的底层网络通信协议,它依赖于Oracle客户端(如Oracle Instant Client或完整的Oracle Client)来与数据库进行交互,请确保Oracle客户端已安装,并且其版本与目标数据库版本兼容。
获取数据库连接信息:
从数据库管理员(DBA)处获取以下核心信息,缺少任何一项都可能导致连接失败。
| 信息项 | 描述 | 示例 |
|---|---|---|
| 用户名 | 用于登录数据库的账户名 | scott |
| 密码 | 对应账户的密码 | tiger |
| 主机名/IP地址 | 数据库服务器所在的网络地址 | 168.1.101 或 dbserver.example.com |
| 端口号 | 数据库监听器正在监听的端口,默认为1521 | 1521 |
| 服务名/SID | 数据库实例的标识符,现代Oracle更推荐使用服务名。 | orclpdb.localdomain (服务名) 或 orcl (SID) |
建立数据库连接的详细步骤
准备工作完成后,连接过程就变得直观起来。
打开登录窗口:启动PL/SQL Developer后,通常会直接弹出登录窗口,如果没有,可以点击工具栏上的“新建”数据库窗口图标,或通过菜单栏
文件 -> 新建 -> 数据库窗口打开。填写连接信息:在登录界面,你需要填写以下关键信息:
- 用户名:输入获取到的用户名,
scott。 - 密码:输入对应的密码。
- 数据库:这是最核心也最灵活的字段,你可以在此处输入TNS别名,也可以使用直接连接字符串(下文详述)。
- 连接为:通常选择
Normal(普通用户),如果你是管理员,需要执行维护任务,可能需要选择SYSDBA或SYSOPER。
- 用户名:输入获取到的用户名,
测试并连接:填写完毕后,直接点击“确定”(OK)按钮,如果所有信息正确且网络通畅,PL/SQL Developer的界面主窗口将会出现,底部状态栏显示连接成功的用户和数据库名称,表示你已经成功连接到数据库。
两种主流的连接配置方式
“数据库”字段的填写方式决定了PL/SQL Developer如何定位数据库,主要有以下两种主流方法。

使用TNS别名连接
这是最传统、最常用的方式,TNS(Transparent Network Substrate)是Oracle的网络层技术,通过配置一个名为tnsnames.ora的文件,可以为复杂的连接参数创建一个简单的别名。
:
该文件通常位于Oracle客户端安装目录的network/admin文件夹下,你可以在其中添加如下格式的条目:MY_PROD_DB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orclpdb.localdomain) ) )这里,
MY_PROD_DB就是我们创建的TNS别名。在PL/SQL Developer中使用:
配置好tnsnames.ora并确保PL/SQL Developer能找到它(通常通过设置TNS_ADMIN环境变量指向其所在目录),你只需在登录窗口的“数据库”字段中输入别名MY_PROD_DB,然后输入用户名和密码即可连接。
使用直接连接(EZCONNECT)
如果你不想配置tnsnames.ora文件,或者只是需要临时快速连接,可以使用EZCONNECT语法,这种方式将所有连接信息直接写在一个字符串里。
语法格式:
[用户名]/[密码]@[主机名]:[端口]/[服务名]在PL/SQL Developer中使用:
在登录窗口,将整个字符串填入“数据库”字段。168.1.101:1521/orclpdb.localdomain
在“用户名”和“密码”字段分别填入scott和tiger,这种方式无需任何外部文件,非常便携。
常见连接问题与排错
连接失败是常有的事,通常由错误代码提示。

ORA-12154: TNS: 无法解析指定的连接标识符
- 原因:使用TNS别名时,PL/SQL Developer找不到或无法解析
tnsnames.ora文件中的别名。 - 解决:检查
tnsnames.ora文件是否存在、路径是否正确(检查TNS_ADMIN环境变量)、文件中的别名和语法是否正确无误。
- 原因:使用TNS别名时,PL/SQL Developer找不到或无法解析
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- 原因:数据库服务器端的监听程序虽然运行,但它不知道你请求的服务名(SERVICE_NAME)。
- 解决:联系DBA,确认服务名是否正确,或者监听器是否已动态注册了该服务,可以尝试使用SID代替服务名。
网络超时或无响应
- 原因:防火墙阻止了1521端口,或者主机名/IP地址错误,服务器不可达。
- 解决:使用
ping命令测试主机是否可达,使用telnet <主机> <端口>(如telnet 192.168.1.101 1521)测试端口是否开放。
相关问答 (FAQs)
Q1: 在PL/SQL Developer中保存密码是否安全?
A1: PL/SQL Developer提供了保存密码的功能以方便下次登录,但这存在一定的安全风险,密码是以一种可逆的加密方式存储在配置文件中的,有经验的用户可能可以将其解密,在公共或不安全的环境下,强烈不建议保存密码,对于个人开发环境,可以权衡便利性与安全性,但务必确保你的电脑本身是安全的。
Q2: 如何管理和快速切换多个数据库连接?
A2: PL/SQL Developer非常适合管理多个连接,每次成功登录后,该连接信息(不含密码)会被保存在登录窗口的下拉列表中,你可以为不同的连接起不同的TNS别名以便区分,要切换连接,无需关闭当前窗口,只需再次点击“新建数据库窗口”图标,选择另一个连接配置并登录,这样,你就可以在同一个IDE中同时打开多个连接到不同数据库的会话窗口,极大提高了工作效率。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复