命令行SQL无效凭据 [英] Command line SQL invalid credentials
本文介绍了命令行SQL无效凭据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我输入无效值或SQL未连接时,如何重新显示USERNAME,PASSWORD和DATABASENAME INPUT?
上述图片之后,COMMAND LINE就会关闭。
这是批处理(.bat)文件。
@echo off
sqlplus / nolog @C:\Users\myuser\Desktop\conn.sql
ECHO即将退出。
timeout t / 30
:暂停
这是conn.sql文件
conn&&& & b
$ b SPOOL C:\Sample.log
SELECT 1 FROM DUAL /
SPOOL OFF
EXIT
解决方案批处理文件
@echo off
setlocal
setSqlUserName =
setSqlPassword =
setSqlDatabase =
:Credentials
set / PSqlUserName =输入用户名:
set / PSqlPassword =输入密码:
set / PSqlDatabase =输入数据库:
@退出失败
echo connect%SqlUserName%/%SqlPassword%@%SqlDatabase%
echo select * from dual;
echo exit
) sqlplus.exe -s / nolog
如果errorlevel 1 goto凭据
如果错误级别0 sqlplus / nolog @C:\Users\myuser\Desktop\conn.sql
echo关于出口。
timeout / t 30
endlocal
Conn.sql
SPOOL C:\Sample.log
SELECT 1 FROM DUAL /
SPOOL OFF
EXIT
感谢Mofi和Alex:如何在命令行上提示输入数据库?
How can I make the USERNAME, PASSWORD and DATABASENAME INPUT reappear when I input invalid values or when the SQL did not connect?
After the above image, the COMMAND LINE will just close.
This is the batch(.bat) file.
@echo off sqlplus /nolog @C:\Users\myuser\Desktop\conn.sql ECHO About to exit. timeout t/ 30 :pause
And this is the conn.sql file
conn &&username@&&DBNAME SPOOL C:\Sample.log SELECT 1 FROM DUAL / SPOOL OFF EXIT
解决方案Batch File
@echo off setlocal set "SqlUserName=" set "SqlPassword=" set "SqlDatabase=" :Credentials set /P "SqlUserName=Enter username: " set /P "SqlPassword=Enter password: " set /P "SqlDatabase=Enter database: " @( echo whenever sqlerror exit failure echo connect %SqlUserName%/%SqlPassword%@%SqlDatabase% echo select * from dual; echo exit ) | sqlplus.exe -s /nolog if errorlevel 1 goto Credentials if errorlevel 0 sqlplus /nolog @C:\Users\myuser\Desktop\conn.sql echo About to exit. timeout /t 30 endlocal
Conn.sql
SPOOL C:\Sample.log SELECT 1 FROM DUAL / SPOOL OFF EXIT
Thanks to Mofi and Alex: How do I prompt input for database on command line?
这篇关于命令行SQL无效凭据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文