我尝试了以下每一项 - 都没有奏效:
[oracle@localhost]$ sqlplus system/oracle@SID_NAME
[oracle@localhost]$ sqlplus system/oracle@localhost:1521/SID_NAME
[oracle@localhost]$ sqlplus system/oracle@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(Port=1521))(CONNECT_DATA=(SID=SID_NAME)))
[oracle@localhost]$ sqlplus "system/oracle@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(Port=1521))(CONNECT_DATA=(SID=SID_NAME)))"
SQL*Plus 是否支持在初始命令提示符下直接连接到“Oracle 数据库链接”?如果是这样 - 如何?
SID_NAME
不指向数据库而是“Oracle 数据库链接”:https ://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm#i1007709
连接到本地 Oracle 数据库后,我可以查询“Oracle 数据库链接”。本地 Oracle 数据库是创建链接并指向远程数据库的位置。它通过 ODBC DSN 连接。
但是,我有兴趣在初始 sqlplus 命令提示符处直接连接到 Oracle 数据库链接。
本地 Oracle 数据库端口为 1521。
我得到的错误信息:
错误:ORA-01017:用户名/密码无效;登录被拒绝
重点是调试 (GDB) ODBC 驱动程序。使用 isql - 在命令提示符下 - 我可以提供 ODBC DSN,当我info sharedlibrary
在 GDB 提示符下运行时 - 我可以看到我加载的库并因此进行调试。我有兴趣使用 sqlplus 以相同的方式加载驱动程序。我无法看到加载的库后连接。因此 - 尝试像 isql 一样在初始命令中加载库。
sqlplus 在什么时候实际加载远程数据库的 ODBC 驱动程序?我知道在执行查询并在退出时将其卸载时会这样做。但我无法捕获它 - 即使存在断点。