Edv*_*nas 54 oracle sqlplus string
假设我有一个 Oracle 数据库。我有一个用户名 = x,密码 = y,数据库 = z。我也知道端口 = a,SID = b,主机名 = c。
那么我需要如何正确连接呢?我使用了许多选项,例如:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'
sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
Run Code Online (Sandbox Code Playgroud)
提交这些命令行通常会给我返回错误消息,例如:
ORA-12560:TNS:协议适配器错误
ORA-12514:TNS:侦听器当前不知道服务
提前谢谢了!!
Han*_*lin 100
你试过了吗
sqlplus username/password@host:port/service
sqlplus x/y@c:a/b
Run Code Online (Sandbox Code Playgroud)
sqlplus 的现代版本(版本 11 或更高版本)理解此语法,您不需要 tnsnames.ora 文件。
小智 12
最简单的就是使用tnsnames.ora文件连接数据库。为此,对其进行编辑并添加一个新条目:该文件通常位于 $ORACLE HOME\NETWORK\ADMIN 目录中。
myDb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = c)(Port =a))
)
(CONNECT_DATA =
(SERVICE_NAME =b)
)
)
Run Code Online (Sandbox Code Playgroud)
然后你可以连接到数据库:
sqlplus x/y@myDb
小智 10
原始海报...在第一个选项中,您错过了一个右括号
不正确:(你的字符串)
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'
Run Code Online (Sandbox Code Playgroud)
正确的:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED))))'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
683836 次 |
| 最近记录: |