0

我们的大学运行 Oracle 数据库服务器。我们通过 SSH 使用校园用户名/密码登录,然后rlwrap sqlplus自动启动,我们必须使用另一个用户名和密码再次登录到数据库应用程序。

我想在 Windows 上使用 Emacs 在此服务器上编辑和运行简单的 SQL 脚本。我已经能够使用 Tramp 在其他 SSH 服务器上编辑文件,但由于某种原因(很可能是自动启动sqlplus),我无法在数据库服务器上执行此操作。Emacs 挂起Tramp: Waiting for prompts from remote shell

我还想在缓冲区中运行交互式 SQL 会话,因此我将https://stackoverflow.com/a/17277015/1813487中的代码插入到我.emacs的适当修改中(即,将所有出现的 更改mysqloracle)。当我这样做时M-x sql-oracle,Emacs 挂起Tramp: Sending Password

有没有办法修复/配置所有这些,或者唯一的方法是说服管理员禁用自动启动sqlplus


我只能通过按照此处tramp.el的建议重新编译来使 Tramp 工作,这可能很重要,也可能不重要。我对 Emacs Lisp 知之甚少。

4

2 回答 2

0

解决方案是编辑.bashrc服务器上的文件,使 SQLPlus 不会自动启动。

于 2013-10-18T17:19:55.373 回答
0

Tramp-over-SSH 通过启动 SSH 会话然后向其发送 shell 命令来工作。因此,如果您的 SSH 会话无法运行 shell,您将无法使用 Tramp-over-SSH 访问远程文件。

至于从 Emacs 启动 SQL,方法是设置sql-oracle-program一些执行必要命令的脚本,在您的情况下可能类似于ssh <oracle-server>.

于 2013-09-25T00:46:32.747 回答