第二部分正式在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文件中。
用户名我用的是自己创建的用户。
之后便可以连接成功啦