如何在Oracle SQL Developer中使用已存储的用户名和密码
问题:Oracle SQL Developer脚本如何调用已存储的连接凭据避免明文密码
我在Oracle SQL Developer中配置了多个数据库连接,每个连接都通过“保存密码”选项存储了用户名和密码。我有一个用于查询多个数据库的脚本:
SELECT * FROM table_on_DB1; conn username/password@server:1521:DB2 SELECT * FROM table_on_DB2
从DB1的工作表运行该脚本可正常工作,但痛点是用户名和密码明文写在脚本中。我认为可使用SQL Developer中已存储的凭据,请问该如何操作?
解决方法
方法1:用CONNECT命令直接调用已配置的连接名
SQL Developer允许直接使用你预先配置好的连接名来切换数据库,无需明文输入账号密码。只需把原脚本中的conn语句替换为:
CONNECT /@<你的连接名>
比如你在SQL Developer里给DB2配置的连接名叫DB2_PROD,修改后的脚本如下:
SELECT * FROM table_on_DB1; CONNECT /@DB2_PROD SELECT * FROM table_on_DB2;
执行脚本时,SQL Developer会自动调用该连接名下存储的用户名和密码完成切换。
方法2:使用SET CONNECTION命令切换连接
另一种更简洁的方式是用SET CONNECTION命令,直接指定连接名即可切换:
SELECT * FROM table_on_DB1; SET CONNECTION DB2_PROD; SELECT * FROM table_on_DB2;
这个命令的效果和CONNECT一致,同样会自动读取已保存的凭据。
注意事项
- 连接名必须和你在SQL Developer中配置的完全一致(注意空格和大小写,SQL Developer的连接名默认不区分大小写,但建议严格匹配)
- 如果你的连接是通过TNS别名配置的,也可以直接用TNS别名替换连接名,比如
CONNECT /@DB2_TNS
内容的提问来源于stack exchange,提问作者Edwin
相关产品推荐
相关产品推荐

