簡體   English   中英

通過 cygwin sqlplus 連接到遠程 oracle

[英]connecting to remote oracle via cygwin sqlplus

我正在嘗試使用 cygwin sqlplus 連接到位於 myserver.mycompany.com 端口 1530 的遠程 oracle 安裝。當我嘗試

sqlplus username@myserver.mycompany.com:1530/orcl

我收到錯誤:

ORA-12154: TNS:could not resolve the connect identifier specified

當我將ORACLE_HOME設置為cygdrive/c/oracle/product/10.2.0/client_1時,我得到一個不同的錯誤:

Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

我可以te.net到服務器的1530端口,本地安裝的SQL Developer也可以連接數據庫。 我究竟做錯了什么?

我不知道有Oracle的本地cygwin客戶端(如果我在這里錯了,請改正我的名字,但我在Oracle網站上也找不到任何提及)。 如果將Cygwin與Windows客戶端一起使用,則需要使用本機Windows路徑。 它不會理解您的/ cygdrive路徑。

但是,我已將Win32 Oracle客戶端與cygwin一起使用並使其工作-相同的shell腳本將在Cygwin,Linux和Solaris上工作。

沒有cygwin Oracle客戶端。 如上答案,使用ORACLE_HOME設置為Windows路徑。

對於問題的前半部分,請嘗試查看TNS_NAMES env變量設置為什么,如果未設置,則可能需要嘗試將其設置到正確的位置。 通常,它默認為%ORACLE_HOME%/ network / admin / tnsnames.ora。 SQL Developer保留它自己的tnsnames文件副本,因此您無法對此進行回復以解決問題。

結合其他答案的細節(花了我一些時間,所以我將其作為單獨的答案而不是評論發布):

$ORACLE_SID$TNS_ADMIN (可能還有其他與路徑相關的Oracle變量,如果已設置)必須使用Windows路徑。 當然,您的Cygwin $PATH變量應使用Cygwin表示法( /drives/c/… )。 所以我已經包含在我的.bashrc

export ORACLE_HOME=c:\\Oracle\\product\\12.1.0\\dbhome_1
export TNS_ADMIN=d:\\Oracle\TNSAdmin
export PATH=$PATH:$(cygpath -u $ORACLE_HOME)/BIN

在那之后,我不再有其他問題,例如調用tnspingsqlplus 上面只是一個示例,您當然必須調整路徑以反映您的安裝/配置:)

它對我/cygdrive/d的方法是刪除/cygdrive/d/cygdrive/c並用d:/c:/替換它們,然后在cygwin會話中執行sqlplus調用。 /cygdrive/DriveLetter令人困惑。

NXC是正確的-它不是我使用的cygwin客戶端,但是Windows sqlplus客戶端。 我為ORACLE_HOMEORACLE_SID設置了Windows環境變量,然后能夠使用tnsnames.ora中的net_service_name在cygwin bash shell中運行sqlplus。

我也有和你一樣的錯誤

您不僅應在Windows變量中設置ORACLE_HOME

而且PATH包含%ORACLE_HOME%\\bin

然后您可以打開Windows cmd,

嘗試sqlplus username/password@your_define_tnsname

如果可以,請刪除cygwin中的所有ORACLE PATH設置,重新啟動cygwin,然后嘗試進行設置。

如果失敗,首先應該讓sqlplus在Windows cmd中正常工作

我配置了 TNS_ADMIN 變量並且它在 Win Environ 中正常工作

export TNS_ADMIN=$(cygpath -m $TNS_ADMIN)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM