我正在尝试将批处理文件放在一起,以简单地执行我拥有的.sql文件。我在批处理中使用的代码是:
REM JOB.BAT
SQLPLUS -S username/password@db @C:\Users\username\Desktop\testsql.sql
EXIT
我收到错误:
“错误:ORA-12154:TNS:无法解析指定的连接标识符”
我认为问题是我的密码包含@符号,所以它开始在密码中间读取远程数据库名称,而不是只读取'db'。因此,如果我的密码是“p @ ssword”,它正在寻找一个名为“ssword @ db”的数据库,它不存在。
是否有一个简短的方法或者更改我的密码是唯一的方法吗?
谢谢!
答案 0 :(得分:1)
您需要引用密码字符串,使用适合您的操作系统的任何内容。看起来你正在使用Windows,所以,试试这个:
SQLPLUS -S username/'password'@db @C:\Users\username\Desktop\testsql.sql
答案 1 :(得分:0)
如果您没有正确设置TNS,您只需显式调用数据库:
sqlplus 'user/pass@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.network)(Port=1521))(CONNECT_DATA=(SID=remote_SID)))'