Oracle Instant Client 介绍
免费,轻量且易于安装的Oracle数据库工具,库和SDK,用于构建和连接Oracle数据库实例的应用程序。
Instant Client使应用程序能够连接到本地或远程Oracle数据库以进行开发和生产部署。
Instant Client库提供必要的网络连接以及基本和高端数据功能,以充分利用Oracle数据库。
它是流行语言和环境的Oracle API的基础,包括Node.js,Python和PHP,以及为OCI,OCCI,JDBC,ODBC和Pro * C应用程序提供访问。
Instant Client中包含的工具(如SQL Plus和Oracle Data Pump)提供快速方便的数据访问。
Instant Client 下载
oracle网站下载, 下载地址
包括如下内容:
Instant client Package - Basic 运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件。
Instant client Package - Basic Lite: 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集。
Instant client Package - JDBC Supplement 为jdbc增加了xa, 国际化和RowSet操作。
Instant Client Package - SQL *Plus 包含sqlplus和需要的库文件
Instant client Package - SDK 使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile
Instant client package - ODBC 使用odbc时需要的库, 不是所有平台都有。 linux平台包含。
Basic 和Basic Lite两个中必须选一个,其他包都是可选的。
下载了 Basic、SQL *Plus,解压后放在一个文件夹下,在这个文件夹下建立文件 tnsnames.ora,
设置环境变量指向解压后的目录,就可以使用sqlplus了。
测试instant client版本为21.6.0.2.0,连接到oracle 10.2.0.1,Instant Client中不包含tnsping, exp/imp, rman, netca等工具。
一般来说,有basic、sqlplus就足够用的了。
配置环境变量
TNS_ADMIN=C:\instantclient_21_6\network\admin >> tnsnames.ora所在路径
PATH=%PATH%;C:\instantclient_21_6 >> 在Path后面追加instantclient解压路径
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK /.AL32UTF8 >>设置Oracle字符语言集
如果不清楚远程数据库的ORACLE语言,select * from nls_instance_parameters;
如果不清楚远程数据库的版本,select * from v$version;
创建 tnsnames.ora
在C:\instantclient_21_6(案例)下建立network\admin目录,之后建立tnsnames.ora文件,该文件配置了你要连接的数据库;
点击查看代码
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cuei7)
)
)
SQLPLUS的使用
(1)直接使用:
运行cmd到命令行控制台,在C:\instantclient_21_6目录下输入命令:
sqlplus cuei7/cuei7@//127.0.0.1:1521/cuei7
(2)使用别名: 输入命令:
sqlplus cuei7/cuei7@cuei7
如果不是在C:\instantclient_21_6目录下,需要指定:
set PATH=C:\instantclient_21_6;%PATH%
set TNS_ADMIN=C:\instantclient_21_6\network\admin
PL/SQL Developer的使用
安装PL/SQL Developer后,启动时取消登录,进入界面,在tools - Preferences...中,设置两个输入框:
Oracle Home:C:\instantclient_21_6
OCI library: C:\instantclient_21_6\oci.dll
如果tnsnames.ora文件直接放在C:\instantclient_21_6下,需要设置环境变量TNS_ADMIN=instantclient_21_6;
如果在C:\instantclient_21_6下建立network\admin目录,并且放入tnsnames.ora文件,则可以忽略TNS_ADMIN变量。
卸载方法
删除 环境变量,修改path变量,去掉C:\instantclient_11_2目录
删除 C:\instantclient_21_6 目录
可能会发现无法删除 C:\instantclient_21_6oci.dll。这时,只要停止msdtc服务:"net stop msdtc" ,然后再删除即可。
常见问题
1.PL/SQL Developer和Toad的版本,32位的要对应32位的OracleInstant Client,不要因为系统是64位的就下载64位的
2.由于找不到vcruntime140.dll无法继续执行代码的解决方法,只需要从微软官方下载最新的Visual C++安装即可。
Visual C++官方下载地址:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
3.ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME
检查数据库名写的未对应配置中的连接名。
来源:work&个人见解&侵删