我开始用sqlplus做emacs。它工作得很好,除了一件事--我经常收到一条信息:“缓冲区.不和任何人说话”。在文件sqlplus.el中,有下面的代码来验证(get-缓冲器-进程-进程-缓冲区名称)。如何保持sql进程的活力?
(defun sqlplus-verify-buffer (connect-string)
(let ((output-buffer-name (sqlplus-get-output-buffer-name connect-string))
(process-buffer-name (sqlplus-get-process-buffer-name connect-string)))
(when (not (get-buffer process-buffer-name))
(sqlplus-shutdown connect-string)
(error "No SQL*Plus session! Use 'M-x sqlplus' to start the SQL*Plus interpreter"))
(unless (get-buffer-process process-buffer-name)
(sqlplus-shutdown connect-string)
(error "Buffer '%s' is not talking to anybody!" output-buffer-name)))
t)发布于 2009-09-29 06:28:23
一个可能的解决方案是:
(defadvice sqlplus-verify-buffer (before sqlplus-verify-buffer-and-reconnect activate)
(unless (get-buffer-process (sqlplus-get-process-buffer-name connect-string))
(sqlplus connect-string)))https://stackoverflow.com/questions/1486321
复制相似问题