代码之家  ›  专栏  ›  技术社区  ›  Oleg Pavliv

Emacs sqlplus已断开连接

  •  2
  • Oleg Pavliv  · 技术社区  · 17 年前

    我开始在Emacs中使用sqlplus。除了一件事,它很好用-我经常收到一条信息 “缓冲器…不跟任何人说话” .在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)
    
    1 回复  |  直到 17 年前
        1
  •  1
  •   Oleg Pavliv    17 年前

    一个可能的解决方案是

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