2017-07-30 199 views
0

我已经在Mac OS X EI Captain中安装了sqlplus instantclient。ORA-12545:连接失败,因为目标主机或对象在Mac中不存在 - SQLPLUS

我能够在终端键入以下命令连接到数据库

sqlplus uname/[email protected]//localhost:1521/myDB

我需要连接到数据库,但不完整的连接字符串,只是我需要键入sqlplus然后我输入用户名和密码,这是抛出错误。

ERROR: 
ORA-12545: Connect failed because target host or object does not exist 

我有下面的环境变量设置和tnsnames.ora创建。

export ORACLE_HOME=/opt/oracle/instantclient 
export DYLD_LIBRARY_PATH=$ORACLE_HOME 
export LD_LIBRARY_PATH=$ORACLE_HOME 
export NLS_LANG=AMERICAN_AMERICA.UTF8 
export TNS_ADMIN=~/etc 
export PATH=$PATH:$ORACLE_HOME 
export ORACLE_SID=myDB 

我不知道为什么我得到这个错误。

下面是〜/ etc位置下的tnsnames.ora。

myDB = 
(DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost) (PORT = 1521)) 
     (
      CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = myDB) 
     ) 
) 
+0

是的,这是一个typo.i使用'sqlplus'命令它提示输入用户名和密码,然后它给出了这个错误。 “ORA-12545:连接失败,因为目标主机或对象不存在” – n92

+0

尝试一件事。在tnsnames.ora中,检查是否有错字,并确实有'(HOST = localhost)'。如果是,请尝试用本机的实际名称更改'localhost'。例如'TOM-PC'或者用'127.0.0.1'或者用你现在使用'ifconfig'获得的PC的局域网IP地址 –

回答

1

设置TWO_TASK environment variable来定义默认连接字符串,例如,

export TWO_TASK=${ORACLE_SID} 

还用tnsping myDB测试配置。

+0

谢谢@William,现在工作。 – n92

相关问题