bec*_*kah 7 oracle oracle-11g sqlplus
我在云 Oracle Linux 环境上安装了 Sql*PLUS,以便访问远程数据库。我使用这里提供的安装说明作为答案:https : //stackoverflow.com/questions/23488394/how-to-install-sql-plus-client-in-linux
我的连接字符串是正确的,但出现错误
ERROR: ORA-12154: TNS:could not resolve the connect identifier specified
我试图通过查看 my 来解决这个问题tnsnames.ora,但它不存在,并且连接到我的路径$ORACLE_HOME没有子文件夹“ /network/admin/”。为了解决这个问题,我创建了两个文件夹并tnsnames.ora在 newadmin/中创建了一个包含我的连接字符串的文件。不幸的是,我仍然遇到同样的错误。
我的新tnsnames.ora文件的路径是:
/usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora
作为参考,我的连接字符串的结构如下:
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= asdasdasd.com)(PORT=1524))
(CONNECT_DATA =
(SID = AARCER1)
)
)
Run Code Online (Sandbox Code Playgroud)
我输入终端的命令是:
sqlplus "userName/myPassword@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=asdasdasd.com)(PORT=1524))(CONNECT_DATA=(SID=AARCER1)))"
我应该怎么做才能解决这个错误?
当您使用时,您sqlplus userName/myPassword@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=asdasdasd.com)(PORT=1524))(CONNECT_DATA=(SID=AARCER1)))"不需要任何tnsnames.ora文件。
您在tnsnames.ora文件中的条目应如下所示:
AARCER1 = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= asdasdasd.com)(PORT=1524))
(CONNECT_DATA =
(SID = AARCER1)
)
)
Run Code Online (Sandbox Code Playgroud)
然后您可以将命令缩短为sqlplus userName/myPassword@AARCER1- 这就是tnsnames.ora.
为了使用tnsnames.ora你还必须有文件sqlnet.ora. 在那里你需要一个这样的条目:
NAMES.DIRECTORY_PATH = (TNSNAMES)
Run Code Online (Sandbox Code Playgroud)
但是,默认值为NAMES.DIRECTORY_PATH=(tnsnames, ldap, ezconnect),因此实际上您可以跳过它。
将环境变量设置TNS_ADMIN为这些文件的位置,即
export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65214 次 |
| 最近记录: |