https://www.cnblogs.com/it-abang/p/10069444.html
使用sqluldr2进行oracle数据库表数据抽取时遇到执行后无反应,也不报错,也无日志输出的情况。
经过排查之后发现时由于oracle账户密码快要过期导致的(这也能出问题,我服,类似的plsql连接oracle数据库时也会因为这个原因出现连接不上的问题),把账户密码的期限修改一下即可。注意的是,就算账户密码修改过后,被提示的账户还是要做一次密码修改才能生效。
我的测试
C:\Users\aaa\Downloads>sqluldr2 hr/hr query="select * from dual" file=dual_.txt
C:\Users\aaa\Downloads>cd ..
C:\Users\aaa>o
C:\Users\aaa>sqlplus hr/hr @login.sql
SQL*Plus: Release 11.2.0.2.0 Production on 星期五 6月 21 19:20:12 2019
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-28001: the password has expired
更改 hr 的口令
新口令:
重新键入新口令:
口令已更改
连接到:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
SQL> exit
从 Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production 断开
C:\Users\aaa>sqluldr2 hr/HR query="select * from dual" file=dual_.txt
'sqluldr2' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
C:\Users\aaa>cd downloads
C:\Users\aaa\Downloads>sqluldr2 hr/HR query="select * from dual" file=dual_.txt
0 rows exported at 2019-06-21 19:20:43, size 0 MB.
1 rows exported at 2019-06-21 19:20:43, size 0 MB.
output file dual_.txt closed at 1 rows, size 0 MB.