太长不看版:

1.你什么操作系统,Instant Client就选什么操作系统

2.你的navicat是多少位(32、64),Instant Client就选多少位

3.你的Oracle是哪个版本,Instant Client就选哪个版本

4.下载Instant Client Package - Basic和Instant Client Package - SQL*Plus(这个可选),解压到一个单文件夹

5.配置navicat:工具->选项->环境,把OCI环境和SQL*Plus(如果需要,且有)配上,重新启动 Navicat

以下是正文:

===================== 我是分割线 =====================

Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server 和/或 MariaDB 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、‎腾讯云。Navicat 的功能足以符合专业开发人员的所有需求,但是对数据库服务器初学者来说又相当容易学习。Navicat 的用户界面 (GUI) 设计良好,让你以安全且简单的方法创建、组织、访问和共享信息。

Navicat 提供了三种平台的版本 - Microsoft Windows、macOS 和 Linux。它可以让用户连接到本地或远程服务器,并提供一些实用的数据库工具以协​​助用户管理数据,包括 Navicat Cloud 协同合作、数据建模、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具和自动运行。

Navicat确实很好用,特别是Navicat Premium,它可以让你在单一应用程序中同时连接多达六种数据库,可一次快速方便地访问所有数据库。相信大家在连接MySQL、MariaDB、SQL Server、SQLite 和 PostgreSQL时,问题都不大,但是遇到Oracle,总会出现这样那样的问题。

今天就和大家分享一下使用Navicat连接Oracle数据库的正确姿势。

知其然,更要知其所以然。弄清楚了原理,再解决问题就不是什么难事了。我们首先需要知道的是,Navicat是怎么连接和管理Oracle的,当然,这里指的是Navicat Premium和Navicat for Oracle两款产品。

Oracle基础不扎实的同学,请自行补课,我这里就简单说下。

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

OCI从哪里来?把Oracle在你机器上装一遍,就有了,只是,这么庞大的家伙,装都装了,还要Navicat干嘛?不急,Oracle给大家提供了一个叫做Instant Client的东西。地址:http://www.oracle.com/technet...。他是这么描述的:

Free, light-weight, and easily installed Oracle Database tools, libraries and SDKs for building and connecting applications to an Oracle Database instance.

Oracle Instant Client enables applications to connect to a local or remote Oracle Database for development and production deployment. The Instant Client libraries provide the necessary network connectivity, as well as basic and high end data features, to make full use of Oracle Database. It underlies the Oracle APIs of popular languages and environments including Node.js, Python and PHP, as well as providing access for OCI, OCCI, JDBC, ODBC and ProC applications. Tools included in Instant Client, such as SQLPlus and Oracle Data Pump, provide quick and convenient data access.

看不懂?没关系!要么谷歌要么度娘。关键是看到“Free, light-weight, and easily”就可以了。二话不说,先下载下来,不过,点Downloads之后就懵了,选哪个?随便点个window的进去看看,更懵了,还有这么多版本、类型。。。心中一万点伤害,有木有!没事,这就是我们要说的重点。(感情上面一堆全是废话啊,嗯,没错,都是废话!)

1.选操作系统

我的navicat是在windows上用的,我就选了windows,其他我没亲测,各位看官自己来吧。

2.32位还是64位

这是个重点。网上到处都是说,navicat只支持32位,云云……我想说,那TM是从前了!Navicat 版本 10 或以下,Navicat 的确是只支持 32位的,但人家现在都出到12了好不。

我的,64-bit。

就一句话,你的navicat是32位你就下32位的Instant Client,你的navicat是64位你就下64位的Instant Client。原理,请自行谷歌。

3.Instant Client版本选择

选好了操作系统和位数,点进去发现,还有各种版本,各种类型,可谓是玲琅满目,眼花缭乱。该如何选择呢?

先确认一下你的Oracle数据库的版本。

SELECT * FROM v$version

可以看到你的Oracle版本,我的是11.2,然后就选择版本一致的Instant Client就可以了。

4.需要下哪些

首先是Instant Client Package - Basic,其实就这一个就可以了。

但是,为了方便命令操作(navicat里叫命令列),我们需要再弄个sqlplus:Instant Client Package - SQL*Plus。

5.如何安装

把上面下载的一个或两个解压(如果是两个,放一起就行了),我就直接放C:instantclient_11_2里了。

接下来就是配置navicat。工具->选项->环境。把OCI环境和SQL*Plus配上,重新启动 Navicat,就OK了。

6.一点废话

有地方会说(包括官方),需要把解压后的路径(我的是C:instantclient_11_2)加入环境变量。我这里是没有加的。如果你需要在全局是用sqlplus等,就需要加进去,我没有这个需求,所以就没加了,根据你的情况来,反正不是必须的。另外要说的是,如果你加了环境变量,在配置OCI环境时,就可以在下拉时看到这个oci.dll文件。

其实,navicat本身是带了oci的,为什么我们还要费那么大劲去自己弄了。因为用不了呗。为什么用不了呢?看了前面就知道了,版本对不上~~~

7.常见错误

ORA-XXX:Oracle 那边飞过来的错误,一般是OCI/instantclient版本不对,比如,你直接用了navicat自带的oci环境。

oracle library is not loaded:navicat这边报的错,oci库根本就没加载,一般就是32位64位搞错了

祝大家玩的愉快!

Navicat使用Instant Client创建连接到Oracle数据库的正确姿势相关推荐

  1. 解决arcgis不能连接到oracle数据库,因为数据库客户端软件加载失败

    arcgis连接Oracle数据库报错: 操作步骤: 打开arcmap 打开toolbox,创建企业级地理数据库 填写相关信息后点击创建,报错.报错原因*"不能连接到oracle数据库,因为 ...

  2. oracle数据库连接名是什么,连接到Oracle数据库的几种命名方式

    连接到Oracle数据库的几种命名方式 从事 Oracle 相关工作的人,每天都会使用各种工具连接到 Oracle 数据库,比如:SQL*Plus.PL/SQL.TOAD.SQLDeveloper 等 ...

  3. sql链接oracle12514,客户端连接到oracle数据库出现12514错误

    Oracle-12514错误发生的几种原因 ora-12514: TNS: 无法处理服 登录Oracle数据库时提示"ORA-12514:TNS 监听程序当此问题解决的方法和详细的操作步骤如 ...

  4. ArcGIS报错the database client software failed to load不能连接到oracle数据库,因为数据库客户端软件加载失败

    原因很简单,就是没有按照oracle数据库导致的,去官网下载一个数据库即可,我是ArcGIS 10.2版本的下载了Oracle 11g以后重启电脑成功解决问题!

  5. sql 链接到oracle数据库,通过MSSQL连接服务器连接至Oracle数据库

    前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...

  6. linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解

    本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...

  7. 创建多个Oracle数据库及相应的实例

    对于使用过SQL Server数据库的用户可以会对Oracle中的数据库的实例的概念理解的不是很好,所以我产生了写一篇博文的想法. 基础概念 一般Oracle数据库(Oracle Database)可 ...

  8. EF中创建、使用Oracle数据库的Sequence(序列)功能

    ** 背景 ** 项目中订单号原来的生成规则由日期加随机数组成,后期需求决定将订单号生成规则更改为生成日期加当天当前订单数. 每天的订单数都是从0开始的,每生成一个订单,订单数就应该加1.订单数应该是 ...

  9. oracle 一个实例创建多个数据库_创建多个Oracle数据库及相应的实例

    转 http://blog.csdn.net/luiseradl/article/details/6972217 对于使用过SQL Server数据库的用户可以会对Oracle中的数据库的实例的概念理 ...

最新文章

  1. php 和第二天作对比,php第二天
  2. PowerDesigner 使用的一些技巧(转)
  3. logstash tcp multihost output(多目标主机输出,保证TCP输出链路的稳定性)
  4. 再见SpringMVC!linuxkafka安装单机集群
  5. 图像sobel梯度详细计算过程_OpenCV-Python 图像梯度 | 十八
  6. mysql host %s_python mysql:虽然%s和列匹配,但并非SQL语句中使用的所有参数
  7. docker 常用命令 五 容器日志
  8. python socket connect 阻塞_python – 如何获得非阻塞socket connect()?
  9. Java之Socket实现文件传输
  10. 人工智能 一种现代方法 第8章 一阶逻辑
  11. Android音视频【五】H265/HEVC码流结构
  12. 冰封王座人工只能_魔兽争霸3玩家热议 人工智能能否轻松战war3胜职业选手?
  13. 考研失败最根本的5个原因!
  14. Scheme:点对(dotted pair,或pair)
  15. 诱人福利:猎豹移动雇游轮带全员一块儿航海
  16. 极客日报:腾讯视频、优酷、爱奇艺取消超前点播;苹果为小学生推出编程指南;Win11会导致游戏性能下降
  17. 金立 M6 (GN8003) 解锁 BootLoader 进入第三方 recovery 刷机 ROOT
  18. 每周分享第 29 期
  19. React高频面试题总结 (附答案及原理代码)
  20. 推荐收藏,25道机器学习面试问题(附答案)

热门文章

  1. python整理excel数据-python操作excel的技巧整理
  2. python做电脑软件-程序员带你十天快速入门Python,玩转电脑软件开发(一)
  3. python读取文件多行内容-python 逐行读取文件的几种方法
  4. python opencv 保存摄像头视频,以及fourc编码的介绍
  5. 使用python的eval()函数循环调用某些模块中的一些方法和属性
  6. c# 线程,同步,锁
  7. Spring MVC 拦截器 interceptor 详解
  8. C# Winform下一个热插拔的MIS/MRP/ERP框架14(自动更新)
  9. git修改远程仓库关联
  10. Dom方法,解析XML文件