2

我开始将 sqlplus 用于 emacs。它工作得很好,除了一件事 - 我经常收到一条消息"Buffer ... is not speak to anyone"。在文件 sqlplus.el 中有以下验证代码(get-buffer-process process-buffer-name)。我怎样才能让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)
4

1 回答 1

1

一种可能的解决方案如下

(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)))
于 2009-09-29T06:28:23.877 回答