第一部分解决的是连接超时问题,是云服务器上面的一些配置问题

第二部分正式在windows上安装oracle instant client

解决超时问题后,再次从navicat连接:

会发现不是超时的问题,而是另一个问题

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor

下面开始正式安装oracle instant client

一、为什么安装oracle instant client

借鉴: 

Navicat使用Instant Client创建连接到Oracle数据库的正确姿势_weixin_34191845的博客-CSDN博客

       我们想用navicat连接oracle数据库,由于oracle客户端体积很大,而且我已经在云服务器上安装好了,不想在本地再安装,所以oracle提供了oracle instant client,即时客户端,

       可以发现他是个免费、轻量的工具,他没有图形界面。

       “在普通的情况下,用户可以通过SQL和PL/SQL来访问ORACLE数据库中的数据。此外,ORACLE数据库还提供了一组接口,让用户可以通过C语言等来编程访问数据库,OCI就是为了实现高级语言访问数据库而提供的接口。通俗地讲,Navicat就是一个使用OCI来访问ORACLE数据库的一个图形化界面。因此,我们要想使用Navicat来连接和管理Oracle,首先要正确配置OCI。”    

       可以在navicat里 工具-选项-环境来查看自带的OCI环境(需要注意兼容性问题,自带的是11_2的,我觉得应该也是可以的,可以测试一下,我这里是已经改过了)

二、安装

用自带的好像往往都不行(?不清楚),于是下载了instant client,此处一定要注意版本匹配的问题。Oracle Instant Client - Free tools and libraries for connecting to Oracle Database (官网下载地址)

借鉴:Oracle 轻量即时客户端Instant Client安装配置 - 简书

1、根据操作系统选择instant client的适用操作系统,根据navicat的位数选择instant client位数,根据oracle版本选择instant client版本

我的是 win10 navicat15 oracle11g

选择了Version 12.2.0.1.0

下载了basic和sqlplus压缩包

2、将两者解压到同一个文件夹oracle下,他们的内容会自己放在一起

       3、配置tnsnames.ora

       正如在云服务器上配置过得相同,在本地我们也配置一下

在D:\oracle\instantclient_12_2下新增network/admin目录,写tnsnames.ora,加入和服务器上一样的配置文件内容

       4、设置环境变量

变量名:Path

变量值:D:\oracle\instantclient_12_2

变量名:TNS_ADMIN

变量值:D:\oracle\instantclient_12_2\network\admin

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

变量名:ORACLE_HOME

变量值:D:\oracle\instantclient_12_2

三、连接

       再次进入连接界面,需要注意,服务名是安装oracle时设置rsp应答文件时的名字,即

oracle.install.db.config.starterdb.globalDBName=   设置的名字,在安装oracle的database目录下的response文件夹里的db_indtall.rsp文件中。

        用户名我用的是自己创建的用户。

之后便可以连接成功啦

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐