不使用TNS侦听器连接到Oracle数据库

不使用TNS侦听器连接到Oracle数据库,oracle,listener,tns,Oracle,Listener,Tns,出于好奇,几天前我们讨论了是否有一种不使用TNS Listener连接到DB的方法,这种连接必须由任何程序SQLPlus进行。Net、ODBC等。您可以通过客户端(如sqplplus)或java程序(或工具)通过侦听器使用协议(如SQL*Net或JDBC(如示例))连接到Oracle。侦听器依次在目标数据库上分叉一个进程(如果使用共享服务器,则将连接分配给现有进程)。似乎没有一个灵丹妙药,但有几种方法 对于ODBC,请查看 这里也有很多好的信息。基本上只是(即您必须已经登录到运行数据库实例的机器

出于好奇,几天前我们讨论了是否有一种不使用TNS Listener连接到DB的方法,这种连接必须由任何程序SQLPlus进行。Net、ODBC等。

您可以通过客户端(如sqplplus)或java程序(或工具)通过侦听器使用协议(如SQL*Net或JDBC(如示例))连接到Oracle。侦听器依次在目标数据库上分叉一个进程(如果使用共享服务器,则将连接分配给现有进程)。

似乎没有一个灵丹妙药,但有几种方法

对于ODBC,请查看

这里也有很多好的信息。

基本上只是(即您必须已经登录到运行数据库实例的机器上)


这是由本地进程完成的,而不是依赖侦听器来完成代表连接的进程。通常,这意味着本地用户也需要作为“oracle”运行。有点类似于控制台逻辑。

那么,我可以使用SQLPlus执行LSNRCTL停止和连接吗?是的,但是您省略了@db组件,因此需要定义ORACLE_SID,以便它知道尝试连接到哪个实例。