我正在使用shell脚本运行一个访问SQL*PLUS的java类。现在,有一种非常奇怪的行为,即使DB凭证是错误的,sqlplus (通过java.process运行)仍然不会抛出错误(退出代码1)或错误流。相反,它会在java.process输出中打印错误。
有人知道我能做些什么来解决这个问题吗?
发布于 2018-03-13 17:47:39
一种解决方案是首先确保使用-L选项运行sqlplus (尝试只登录一次,而不是在出错时重新提示)。然后解析输出,如果它包含
ORA-01017: invalid username/password; logon denied或
SP2-0751: Unable to connect to Oracle.这意味着登录失败。
注:仅查找ORA-01017或SP2-0751,因为该字符串可能已本地化。
https://stackoverflow.com/questions/49249907
复制相似问题