2009-09-28 66 views
2

我開始使用sqlplus for emacs。它工作正常,除了一件事 - 很多時候我會收到一條消息「緩衝......不與任何人交談」。在文件sqlplus.el中,有以下代碼驗證(get-buffer-process process-buffer-name)。我怎樣才能保持SQL過程?emacs sqlplus斷開連接

(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) 
+0

做同樣的事情在「M-X SQL-Oracle的發生呢? – seth

+0

不,sql-oracle工作正常,沒有斷開連接 –

回答

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)))