oracle - SQLPLUS 连接到带有特殊字符“@”的数据库
问题描述
我正在尝试使用密码中包含 @ 的用户连接到我的远程数据库。
我将 sqlplus v19 与 OracleClient 一起使用,我的远程数据库也是 OracleServer v19。在数据库上的 alter user 命令期间我没有问题:
alter user USER identified by "P@ssword123";
user altered.
以下是我尝试与该用户连接的命令:
sqlplus USER/"P@ssword123"@tnsname
sqlplus USER/'"P@ssword123"'@tnsname
sqlplus 'USER/"P@ssword123"'@tnsname
sqlplus USER/\"P@ssword123\"@tnsname
以及这些命令的一些变体。这总是返回相同的 TNS 错误:
TNS:could not resolve the connect identifier specified
看起来这些解决方案适用于旧的 sqlplus 版本,但我不知道如何解决这个版本 19 的问题。
当然,我尝试使用非 @ 字符更改密码并且它可以工作,但在我的特定情况下这不是一个可能的解决方案。
解决方案
感谢您的所有回复。
我在你的帮助下弄清楚了。我什至修改了它以使其与我传递一些变量的 PL/SQL 脚本兼容。
答案 :
sqlplus /NOLOG << EOF
connect USER/"P@ssword123"@tnsname
@script_plsql.sql $var1 $var2 $var3
EOF
推荐阅读
- java - Java 中的 Documentum API
- javascript - L.Minichart 不显示真实值
- python - 如何将 segy 转换为 npz?
- bash - “-sd+”在 bash 的粘贴命令中有什么作用?
- java - 使用 UnetSocket 在 unetstack 中创建客户端和服务器节点之间的通信
- javascript - 如何检查字符串是否包含数组中的某些单词?
- c++ - C++ 错误'未定义的对 Class::Function() 的引用
- algorithm - 二叉搜索树中的下一个最小值
- c# - 使用转换器应用的样式并绑定到在运行时未覆盖的其他对象的属性
- vue.js - 如何将 vuepress 源文件保存在自定义目录中?