【Oracle】Navicat Premium 连接 Oracle的两种方式
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 Premium
:Navicat® 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 Premium
:Navicat® 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.2 Cannot load OCI DLL
Oracle 服务器版本
:Oracle Database 12c 发行版
Navicat Premium
:Navicat® Premium 版本 11.2.16 (64-bit)
oci.dll
:11.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**
# 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
- 检查系统变量
ORACLE_HOME
、TNS_ADMIN
是否配置或配置是否正确 - 填写网络服务名称
%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