用 Navicat for Oracle 管理 Oracle 数据库

手册/FAQ (524) 2016-04-18 09:08:54

用 Navicat for Oracle 管理 Oracle 数据库

Navicat for xxx 是一个优秀的数据库管理客户端,有 MySQL、Oracle 等版本。建议大家最好用 Enterprise 版本,功能全面一些,但较之于免费的 Lite 版,企业版可是要花银子买的。

    安装 Navicat for Oracle 后,首先需要建一个“连接”,作为某个管理任务的标识,因为作为客户端,它可以连接和管理很多的数据库服务器。

    和 for MySQL 版本不同的是,Oracle 管理有它的特殊性。Oracle 必须通过它的 OCI 代理函数库与数据库进行连接,Navicat 当然也绕不过这一点,所以必须首先进行 Oracle 的 oci 设置。配置的方法是,运行 Navicat 的菜单“工具/选项”,配置“其它”分类下的 OCI 参数,把 OCI类库(对应oci.dll)文件的路径输入,按“确定”保存。

    但仅仅这样做还不够,因为这一切都依赖于那个 Oracle 的“即时客户端”软件包,所以需要先下载那个 InstantClient 软件包,上面说的 oci.dll 文件就在这个包中。下载该软件包后解压到一个文件夹,还需要做的是,添加环境变量 TNS_ADMIN 让它的值等于这个文件夹的路径,再在系统变量 path 前加上这个文件夹的路径。修改这些配置参数后,可以不用启动 Windows 系统。

    再就是修改注册表路径 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 下的 NLS_LANG 键值,这个键值现在是 NA,因此將 NLS_LANG 的值改为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK,和 Oracle 数据库服务器上的一致。还见有人干脆把这个 NLS_LANG 键删除或改名,本人测试也是可以的,但不知道会不会带来别的问题。

    以上所说的 Oracle InstantClient 配置方法,本人的文章《Windows 2003 下 PHP5.2.5 + Apache2.2.8 + Oracle10g/11g 的配置》(http://blog.why100000.com/?p=581)里有更详细的说明,这里再重复一下。

    OCI 配置好后,就可以配置 Navicat 的连接了。连接类型有 Basic 和 TNS 两种,但本人无法配通 Basic 类型,就配置 TNS 连接,这需要在即时客户端文件夹下放一个名字为 tnsnames.ora 的配置解析文件,文件的格式如下:

    # TNSNAMES.ORA Network Configuration File: ……

    ORCL10 =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.10)(PORT = 1521))

        )

        (CONNECT_DATA =

          (SERVICE_NAME = ORCL10)

        )

      )

    其中的“ORCL10”和“10.0.0.10”字符串需要按照我们自己数据库服务名和网络 IP 地址的特定参数做相应修改。

    以上客户端配置变化后。需要重新打开 Navicat 以应用最新的配置参数。再配置一下连接,点击“连接测试”先测试一下,应该正确连通。

    补充:配置 Web 服务器,就是把 Web 服务器作为数据库连接客户端开看待的,其配置和这里基本相同,而不管是 IIS 还是 Apache,要使配置生效,都必须重新启动一下。

THE END