WebStorm 2021.1 Help

使用 OCI 连接到 Oracle

WebStorm 使用 JDBC 驱动程序通过 TNS 协议连接到 Oracle 服务器。

在精简模式下,JDBC 驱动程序始终连接到 TNS 侦听器。在这种模式下,可以使用各种版本的 JDBC 驱动程序。

在 OCI 模式下,JDBC 驱动程序使用本机库。在这种情况下,JDBC 驱动的版本必须与这些原生库的版本相同。

OCI模式下版本的兼容性

在单独的机器上安装

当 Oracle Instant Client 安装在单独的计算机上时,Oracle Instant Client 和 Oracle Server 的版本可能不同。例如,Oracle Client 19.x 可以成功连接到 Oracle server 11.2。但 JDBC 驱动程序必须与 Oracle Instant Client 具有相同的版本。否则,您将看到类似Native library cannot be loadedor的错误Incompatible version of libocijdbc

例如,考虑以下 Oracle 设置:

  • Oracle Database 12c 企业版 12.2.0.1.0 - 64 位生产

  • Oracle 即时客户端 19.8.0.0

如果我们使用 Oracle 驱动程序 19.3.0.0,我们将获得Incompatible version of libocijdbc. 但是如果我们切换到Oracle驱动19.8.0.0,连接就会成功。考虑以下动画。

在同一台机器上安装

在装有 Oracle 服务器的机器上安装 Oracle Instant Client 时,JDBC 驱动程序使用本机库连接到 Oracle 服务器。而这个本机库是 Oracle 服务器软件的一部分。因此,JDBC 驱动程序必须与 Oracle 服务器具有相同的版本。

汇总表

单独的机器

同一台机器

Oracle Instant 客户端和服务器的版本

可能不同

将相同(因为 Oracle Instant Client 是 Oracle 服务器软件的一部分)

JDBC 驱动程序的版本

与 Oracle Instant 客户端相同

与 Oracle 服务器版本相同

准备 OCI 文件和环境

oracle.com 上的 Oracle Instant Client 下载页面,为您的操作系统下载以下软件包:

  • 基本套餐

  • SQL*Plus 包

  • JDBC 补充包

Step 1. 解压下载的包

  1. 创建一个目录(例如~/Oracle/instantclient_19_8/)。

  2. 将所有包解压到创建的目录。

第 2 步(可选)添加环境变量

此步骤是可选的。设置环境变量后,您可以使用 sqlplus 工具连接到您的 Oracle 实例。请注意,这些设置仅适用于命令提示符的当前会话。

  • 添加以下环境变量:

    导出 ORACLE_HOME=~/Oracle/instantclient_19_8
    导出 TNS_ADMIN=$ORACLE_HOME/network/admin
    导出 NLS_LANG=English_America.UTF8
    导出 PATH=$PATH:$ORACLE_HOME
    设置 ORACLE_HOME=C:\Oracle\instantclient_19_8
    设置 TNS_ADMIN=%ORACLE_HOME%\network\admin
    设置 NLS_LANG=English_America.UTF8
    设置 PATH=%PATH%:%ORACLE_HOME%

步骤 3. 配置 ORA 文件

您可以向 Oracle 服务器管理员请求tnsnames.ora文件,或使用以下方法编写文件:

  1. 在您在步骤 1中创建的目录中,创建网络目录。在网络目录中,创建管理目录。整体路径应如下所示:~/Oracle/instantclient_19_8/network/admin

  2. admin目录中,创建具有以下结构的tnsnames.ora文件:

    MyTNSAlias = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db.my.domain.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = my_service.my.domain.com)) )

    您的tnsnames.ora文件可能具有以下外观:

    tnsnames.ora

    配置好tnsnames.ora文件和环境变量后,您可以尝试通过运行以下命令连接到实例:

    cd ~/Oracle/instantclient_19_8
    导出 TNS_ADMIN=~/Oracle/instantclient_19_8/network/admin
    sqlplus 登录@MyTNSAlias
    配置 TNS 文件

创建 Oracle OCI 连接

步骤 1. 为 OCI 连接准备驱动程序

  1. 数据库工具窗口(查看 | 工具窗口 | 数据库)中,单击数据源属性图标数据源属性图标

    选择文件 | 数据源

  2. 在“数据源和驱动程序”对话框中,单击“驱动程序”选项卡。

  3. 在驱动程序列表中,右键单击Oracle驱动程序并选择复制

  4. 更改复制的 Oracle 驱动程序的名称(例如Oracle [OCI])。

  5. Driver Files窗格中,单击Add图标 ( 添加按钮) 并选择Native Library Path

  6. 在文件浏览器中,导航到之前创建的 Instant Client 的目录(例如~/Oracle/instantclient_19_8),然后单击Open

    为 OCI 连接准备驱动程序

步骤 2. 创建 OCI 连接

  1. 数据库工具窗口(查看 | 工具窗口 | 数据库)中,单击数据源属性图标数据源属性图标

    选择文件 | 数据源

  2. Data Sources and Drivers对话框中,单击Add图标 ( 添加图标) 并选择Oracle

  3. 连接类型列表中,选择TNS

    选择连接类型
  4. 驱动程序列表中,选择OCI

    选择 OCI 驱动程序
  5. 单击驱动程序链接并选择您在步骤 1中创建的驱动程序条目。

    点击驱动链接
  6. TNSADMIN字段中,单击浏览按钮并导航到包含 Instant Client 的目录(在我们的示例中为~/Oracle/instantclient_19_8/)。

  7. TNS 名称字段中,指定要使用的服务名称(请参阅tnsnames.ora中的别名值)。

  8. 指定 Oracle 用户的凭据。

  9. 要确保与数据源的连接成功,请单击测试连接链接。

创建 OCI 连接
最后修改:2021 年 12 月 14 日