【Oracle】Navicat Premium 连接 Oracle的两种方式

使用版本说明

Navicat® Premium 版本 11.2.16 (64-bit)

一、配置OCI

1.1 配置OCI环境变量

1.1.2 设置\高级系统设置

1.1.2 系统属性\高级\环境变量(++N++)

1.1.3 修改/添加系统变量 ORACLE_HOME

DOS 复制代码
ORACLE_HOME
D:\app\root\product\12.1.0\dbhome_1

1.1.4 添加系统变量 TNS_ADMIN

DOS 复制代码
TNS_ADMIN
%ORACLE_HOME%\NETWORK\ADMIN\

1.1.5 未配置OCI环境变量会出现哪些情况?

Cannot create oci environment

Access violation at address 00007FF90188A6EF in module 'OraClient12.Dll'. Read of address 00000000000000D8

1.2 、配置OCI.dll

1.2.1 正确配置

配置路径 工具\选项\其他\OCI -- 常规\OCI library (oci.dll) *
OCI 的版本需要与Oracle数据库服务相匹配,否则会出现各种各样的问题。

正确配置如下

  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll12.1.0.0

oci.dll 详情

  • 文件位置:D:\app\root\product\12.1.0\dbhome_1\bin\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:12.1.0.0
  • 修改日期:‎2014‎年‎9‎月‎11‎日,‏‎2:49:48
  • 大小: 641,536 字节

修改完记得重启Navicat

1.2.2 OCI 的错误配置

1.2.2.1 Cannot create oci environment
  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll10.2.0.1

oci.dll 详情

  • 文件位置:C:\Program Files\PremiumSoft\Navicat Premium\instantclient_10_2\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:10.2.0.1
  • 修改日期:2014-11-11 14:42
  • 大小: 516,096 字节

oci.dll 10.2.0.1 报错详情

Cannot create oci environment

Access violation at address 00000000169ECFD1 in module 'Ora0CICUS10.dll'. Read of address 00000000000000D8

1.2.2.2 Cannot load OCI DLL
  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll11.2.0.1

oci.dll 详情

  • 文件位置:D:\app\admin\product\11.2.0\client_1\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:11.2.0.1
  • 修改日期:‎2010‎年‎4‎月‎2‎日,‏‎7:42:34
  • 大小: 987,136 字节

oci.dll 11.2.0.1 报错详情

Cannot load OCI DLL, 193: D:\app\admin\product\11.2.0\client_1\oci.dll

Instant Client package is required for Basic and TNS connection.

For more information: ++http://wiki.navicat.com/wiki/index.php/lnstant_client_required++

Cannot load OCI DLL 87:

Instant Client package is required for Basic and TNS connection.

For more information: ++http://wiki.navicat.com/wiki/index.php/lnstant_client_required++

二、连接

2.1 连接类型 - Basic

  • 连接名:<自定义>
  • 连接类型:Basic
  • 主机名或IP地址:<Oracle数据库服务端安装地址>
  • 端口:1521(默认)
  • 服务名或 SID:
  • 服务名:orcl(默认) ------ 全局数据库名(服务名)
  • SID:orcl(默认) ------ 系统标识符(SID)
  • 用户名:SYS、SYSTEM(默认)
  • 密码:<自定义>

2.2 连接类型 - TNS

  • 连接名:<自定义>
  • 连接类型:TNS
  • 网络服务名: ORCL(默认) ------ tnsnames.ora网络配置文件中的服务名
  • 用户名:SYS、SYSTEM(默认)
  • 密码:<自定义>

**tnsnames.ora**

ora 复制代码
# tnsnames.ora Network Configuration File: D:\app\root\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

PORTAL56_HIS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-12Q8LR0)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = portal56_his)
    )
  )

TEST001 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.75.158)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-12Q8LR0)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

三、其他报错

ORA-01005

ORA-01005:给出空口令;登录被拒绝


密码不能填空

ORA-01017

ORA-01017: invalid username/password; logon denied


输入的账号或密码不正确

ORA-12154

ORA-12154: TNS: 无法解析指定的连接标识符

ORA-12154: TNS:could not resolve the connect identifier specified

  1. 检查系统变量 ORACLE_HOMETNS_ADMIN 是否配置或配置是否正确
  2. 填写网络服务名称 %ORACLE_HOME%\NETWORK\ADMIN\tnsnames.ora 存不存在其中%ORACLE_HOME% 是安装目录,安装时指定,如:D:\app\root\product\12.1.0\dbhome_1`

ORA-28009

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

  • sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限。
  • system用户是管理操作员,权限也很大,具有susoper角色,没有create database的权限。

所以在使用sys连接Oracle数据库时,需要选择sysdba角色,或者使用sys as sysdba作为用户进行登录

在Navicat tab页"高级"中的角色选择SYSDBA

相关推荐
一行玩python10 小时前
sqlite3,一个轻量级的 C++ 数据库库!
开发语言·数据库·c++·oracle·sqlite
潇潇和多客开源12 小时前
数据库的数据被清除了,该如何恢复?
数据库·oracle
胖头鱼的鱼缸(尹海文)12 小时前
数据库管理-第274期 Oracle Enterprise Manager 24ai新特性一览(20241223)
数据库·oracle
百度智能云技术站1 天前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
梦想平凡1 天前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
夏木~1 天前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
吴冰_hogan1 天前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
CodeCraft Studio1 天前
【实用技能】如何在 SQL Server 中处理 Null 或空值?
数据库·oracle·sqlserver
武汉联从信息1 天前
浅谈ORACLE中间件SOA BPM,IDM,OID,UCM,WebcenterPortal服务器如何做迁移切换
oracle