Navicat?Premium连接Oracle数据库的2种方式


    目录
  • Navicat Premium
    • 使用版本说明
  • 一、配置OCI
    • 1.1 配置OCI环境变量
      • 1.1.2 设置\高级系统设置
      • 1.1.2 系统属性\高级\环境变量(N)
      • 1.1.3 修改/添加系统变量 ORACLE_HOME
      • 1.1.4 添加系统变量 TNS_ADMIN
      • 1.1.5 未配置OCI环境变量会出现哪些情况?
    • 1.2 、配置OCI.dll
      • 1.2.1 正确配置
      • 1.2.2 OCI 的错误配置
    • 1.2.2.1 Cannot create oci environment
    • 1.2.2.1 Cannot create oci environment
  • 二、连接
    • 2.1 连接类型 - Basic
    • 2.2 连接类型 - TNS
  • 三、其他报错
    • ORA-01005
    • ORA-01017
    • ORA-12154
    • ORA-28009
  • 总结

    Navicat Premium
    使用版本说明
    Navicat® Premium 版本 11.2.16 (64-bit)
    
    一、配置OCI
    1.1 配置OCI环境变量
    1.1.2 设置\高级系统设置
    
    1.1.2 系统属性\高级\环境变量(N)
    
    1.1.3 修改/添加系统变量 ORACLE_HOME
    
ORACLE_HOME
D:\app\root\product\12.1.0\dbhome_1

    
    1.1.4 添加系统变量 TNS_ADMIN
    
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.dll: 12.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.dll: 10.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.1 Cannot create oci environment
  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll: 10.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 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**
    
# 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_HOME 、 TNS_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
    
    总结
    到此这篇关于Navicat Premium连接Oracle数据库的2种方式的文章就介绍到这了,更多相关Navicat Premium连接Oracle内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!