遇到的问题
我的笔记本是256G的固盘,C盘已经分出去了120G,所以本机安装Oracle数据库是心有余而空间不足,于是只能使用远程数据库。但是有一个问题,连接远程库只有连接客户端(如PLSQL或Navicat)还不行,还得有Instant Client。
解决
1. 下载Instant Client;下面是官网的下载地址:
https://www.oracle.com/database/technologies/instant-client/downloads.html
2. 解压到你想安装的目录,我放到了D:\instantclient_19_3;
在instantclient_19_3下创建network目录,再network目录下创建admin目录,再admin目录下创建tnsnames.ora文件,写入以下内容:
ORCL@192.168.1.60 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.60 )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl )
)
)
说明:
3. 配置环境变量,也就是相当于安装的过程,告诉系统,你的instant client在哪。
下面的三个环境变量我只配置了第二个就能正常连接使用。变量3是处理字符集的,变量1到底有没有必要我也不知道。
1) 变量名:ORACLE_HOME
变量值:D:\Oracle\instantclient_19_3
2) 变量名:TNS_ADMIN
变量值:D:\instantclient_19_3\network\admin
3) 变量名:NLS_LANG(如果出现中文显示不出来的情况,多半是显示的问号,配置这个变量)
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4.配置PLSQL或Navicat
PLSQL:Tools====>Preferences====>Connection
Navicat:工具====>选项====>OCI
后记
其实还有些不够深入的地方,比如Oracle Instant Client的作用是什么呢?官方给的解释是:
免费、轻量级且易于安装的Oracle数据库工具、库和sdkOracle Instant Client允许应用程序连接到本地或远程Oracle数据库进行开发和生产部署。即时客户端库提供必要的网络连接,以及基本和高端数据功能,以充分利用Oracle数据库。它是包括Node在内的流行语言和环境的Oracle APls的基础。以及为OCI、OCCI、JDBC、ODBC和Pro"C应用程序提供访问。包括在即时客户端中的工具,如SQL"Plus和Oracle Data Pump,提供了快速和方便的数据访问。
那为啥,我连接远程MySQL就没额外安装过什么CLient,为什么Oracle必须装这些呢?懂了以后持续更新哈。
——于2019年8月22