2016-04-01 115 views
1

當我給在sqlplus編輯命令,我收到以下錯誤:「VI」不被識別爲一個內部或外部命令

enter image description here

我在網上搜索,我想,我需要更新環境變量。
當前路徑值是:

E:\app\sasinghc\product\11.2.0\dbhome_1\bin;D:\app\sasinghc\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\

我這個值更新爲

C:\Windows\System32

,但它得到更糟糕,我無法打開sqlplus的,所以我回滾的變化。 現在,我的sqlplus正在工作,但我仍然可以打開afiedt.buf文件。

你能就此建議嗎?

+1

將文本從SQL \ * Plus會話中複製並粘貼到格式文本而不是圖像中會更好。你的電腦上安裝了vi(或vim)嗎?編輯器默認設置爲記事本,所以你在重寫這個地方。你真的想用哪個編輯器? –

+0

感謝您的建議,我會接受您的建議。 我想用記事本。 – Wolfgang

+1

我們有一個新的命令行界面SQLcl,它有一個內置的行編輯器 - 在命令行。你可以繞過你的陳述,而不必離開程序來編輯它。你可以在這裏簡單地閱讀它http://www.thatjeffsmith.com/archive/2015/06/updated-sqlcl-nicer-inline-editing-and-column-completion/ – thatjeffsmith

回答

2

默認情況下,Oracle的Windows安裝使用記事本作爲SQL * Plus編輯器。你似乎已經將它改變爲vi,可能是意外的。

你可以看到當前設置:

SQL> define _editor 

這將可能只顯示「六」。要將其更改回記事本,請執行以下操作:

SQL> define _editor = "Notepad" 

或使用完整路徑。如果你安裝了vim,你可以給出完整的路徑,因爲它似乎不在路徑變量中。

您可以在SQL * Plus文檔中閱讀更多about DEFINE以及更具體地說the EDITOR value

您可能正在通過login.sql或glogin.sql配置文件腳本自動選擇此更改 - 可能是從安裝了Gnu工具的Linux/UNIX環境或PC上覆制的。如果您找到並編輯該文件,可以自動更改您喜歡的編輯器 - 每當SQL * Plus運行時,它都會調用該登錄腳本併爲您設置。它似乎也在設置您的SQL提示符,因此您需要更改文件,而不是完全替換它。

Read more about SQL*Plus configuration通過配置文件腳本。

+0

非常感謝Alex :)現在正在工作。 – Wolfgang

3

ED[IT]命令運行由_EDITOR變量定義的外部編輯器。您可以使用DEF[INE]命令查看所有變量值。我認爲您必須將_EDITOR的值重置爲某些INSTALLED外部編輯器,如記事本或寫字板。使用DEF[INE] _EDITOR命令,例如:def _editor = notepad

+0

謝謝hinotf :)已解決。 – Wolfgang

相關問題