无法在 windows 批处理脚本中运行 sqlplus || ORA-28040: 没有匹配的身份验证协议异常

Posted

技术标签:

【中文标题】无法在 windows 批处理脚本中运行 sqlplus || ORA-28040: 没有匹配的身份验证协议异常【英文标题】:Cant able to run sqlplus in windows batch script || ORA-28040: No matching authentication protocol exception 【发布时间】:2021-06-08 06:33:14 【问题描述】:

我正在使用下面的批处理脚本并希望执行 SQL 查询并将数据保存在 CSV 文件中

call sqlplus myuser/mypass@abcdb@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xyz-scan.abc.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=abcdb)))" @C:\myfolder\myquery.sql

但是当我运行我的批处理脚本时,它给了我“ORA-28040:没有匹配的身份验证协议异常”错误

我也尝试过使用简单的 TNS(注意:我的 tns 位置是“D:\app\iis_admin\product\11.1.0\client_1\network\admin\sample”)

 call sqlplus myuser/mypass@abcdb @C:\myfolder\myquery.sql

但又遇到同样的错误。

我的 myquery.sql 包含以下查询

set feed off
set pagesize 0
spool C:\myfolder\myresult.csv
prompt sysdate
select to_char(sysdate, 'dd-mon-yyyy') from dual;
spool off
set head on
set feed 6
quit 

【问题讨论】:

【参考方案1】:

我认为这可能与您使用的版本之间的差距太大。

屏幕截图显示它是 Oracle 8.0.6(天哪,这太旧了!日期为 1997 年) 文字提及产品\11.1.0

因此,我将升级前者,使其能够与后者对话

【讨论】:

“我应该采取什么措施???” 安装一个新的 oracle 客户端。但也请注意,即使您提到的数据库 (11.1) 也太旧以至于无法支持。

以上是关于无法在 windows 批处理脚本中运行 sqlplus || ORA-28040: 没有匹配的身份验证协议异常的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法在 Windows 10 中运行的詹金斯管道中运行批处理文件?

将参数传递给 oracle 脚本

windows批处理文件不退出

无法从 Windows 批处理脚本构建 C 程序

通过 Windows 批处理文件执行时 ECHO 无法正常工作

Python 子进程无法访问 .bat 文件,因为它被另一个进程使用