Re: Ctrl C in SQLPlus exits Windows

From: Yong Huang <"Yong>
Date: Mon, 8 Apr 2019 16:49:04 +0000 (UTC)
Message-ID: <1248231338.1369114.1554742144488_at_mail.yahoo.com>


> Is there a solution for Ctrl C only to interrupt and not to exit SQL Plus in windows.

As Andy pointed out, beginning with Oracle 18.2, pressing CTRL+C aborts a long-running SQL and returns the cursor to the SQL> prompt, or is equivalent to pressing Enter if the session is idle.

Apparently, this version of sqlplus.exe has added CTRL+C handling by calling the function SetConsoleCtrlHandler, probably in response to enhancement request 8890996. You can find the string in this version of the executable:

C:\Temp>strings -q C:\app\client\username\product\18.0.0\client_1\bin\sqlplus.exe | findstr SetConsoleCtrlHandler SetConsoleCtrlHandler

Interestingly, CTRL+BREAK during normal run of sqlplus seems to be left as default. So, pressing that key combination will still abort.

If you're used to pressing CTRL+C to abort and exit Sqlplus, now you type exit or quit, or undocumentedly, CTRL+Z and Enter or CTRL+Z alone. (But if you have an uncommitted transaction, CTRL+Z will commit.) A minor annoyance is that if you type the connect identifier wrong as in "sqlplus user/pass_at_nosuchdb", you either wait about 20 seconds for the network timeout or use Task Manager or some kill program to kill it. Neither CTRL+C nor CTRL+BREAK works.

Yong Huang

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Apr 08 2019 - 18:49:04 CEST

Original text of this message