PLSQL连接oracle

连接远程数据库

项目中需要使用PLSQL,组内大佬给了一个oracle的微端安装程序,于是一点都不知晓的我入了一个大坑。

oracle和PLSQL的安装应该都没有什么问题,连接远程数据库时还需要安装一个叫instantclient_11的程序,我没有下载,直到后来我才发现原来oracle的微端应该就是这个程序(名字9成相似啊喂)

微端安装目录

参照网上的操作,复制network文件到客户端目录下,network文件在oracle的安装目录内,我的文件目录如下:
C:\app\86156\product\11.2.0\dbhome_1\NETWORK\ADMIN
然后配置环境变量什么的,但是按照网上参照的设置环境变量后,oracle自带的SQL操作端就无法登陆了

oracle自带SQL操作端
微端提供的SQL操作端

总之我尝试过很多配置,微端的SQL我始终连接不上数据库(原谅我太菜),环境变量只能沿用原来的配置,全部设置为oracle端的,仅有一个环境变量为微端,即:
C:\Ora10InstantClient
然后是数据库的配置,一般来说,oracle的配置目录如下:


配置目录

sample目录下有tnsnames和listener的原生文件,默认admin下无这两个文件,需要使用时从sample拷贝到admin下才会生效,然后根据需要配置

由于安装了微端,我发现在admin下的tnsnames并不生效,生效的是Ora10InstantClient目录下的tnsnames

tnsnames目录

配置如下

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

该ORCL即会在PLSQL登陆时可选


PLSQL登陆

至此连接到远程数据配置完毕

连接本地oracle数据库

连接本地数据库除了要配置连接项,还需要配置聆听文件,我尝试配置了Ora10InstantClient目录下的listener文件,没有生效,后来又配置了oracle安装目录admin下的listener文件

oracle目录下的listener文件

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\86156\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\86156\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-R1U9SUG)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )

  )

微端下的listener文件

LISTENER =
  (DESCRIPTION_LIST =
   (DESCRIPTION =
    (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.15)(PORT=1521))
    (ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))   
    )
  (DESCRIPTION =
    (ADDRESS=(PROTOCOL=tcp)(HOST=LOCALHOST)(PORT=1521))
    (ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))  
    )
   )

ADR_BASE_LISTENER = C:\app\86156

具体生效的是哪个我暂时没有测试,我猜测生效的应该是admin下的,DESKTOP-R1U9SUG是主机名,listener是自动生成的

每次改动需要重启listener服务


服务

登陆失败时不妨多试几次

你可能感兴趣的:(PLSQL连接oracle)