构建 Node.js 应用程序

要构建访问 an Autonomous Database 的 Node.js 应用,首先需要配置开发系统来支持数据库访问,以利用 Autonomous Database 的持续可用性和高性能功能。

配置开发系统后,可在应用程序中对数据库连接和 SQL 语句进行编码,以利用连续可用性和高性能功能。

提示:

要“试用”替代阅读以下主题,您可以浏览 Oracle Autonomous Database Dedicated for Developers and Database Users Workshop 中的练习 3:构建和部署 Node.js 应用

配置您的 Node.js 开发系统

要配置您的开发系统,以便您的 Node.js 应用程序可以利用 an Autonomous Database 的连续可用性和高性能功能,请执行以下步骤。

  1. 下载并安装 Node.js。
  2. 下载并安装 Oracle Instant Client。
  3. 下载并安装 node-oracledb。
  4. 下载数据库的客户端身份证明,并将其提供给 Oracle Instant Client。

使用须知

您的开发系统必须符合某些标准才能成功配置它。

  • 它必须有互联网接入。

  • 它必须具有对 Autonomous Database 的网络访问权限。

    要了解如何确保开发系统满足此要求,请参阅配置开发系统以访问数据库

下载和安装 Node.js

下载并安装适用于系统 OS 和体系结构的 Node.js:

  • Oracle Linux:

    运行以下命令以下载并安装最新版本的 Node.js:

    sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
    sudo yum install -y nodejs 
  • 其他 OSes 和体系结构:

    转到 Node.js 下载页,为系统的 OS 和体系结构选择最新 LTS(长期支持)版本,然后安装该版本。

下载和安装 Oracle Instant Client

您需要 Oracle Instant Client 库版本 19.6 或更高版本。

下载并安装适用于系统 OS 和体系结构的 Oracle Instant Client 基本软件包:

  • Oracle Linux:

    运行以下命令以下载并安装 Oracle Instant Client 基本程序包:

    sudo yum -y install oracle-release-el7
    sudo yum -y install oracle-instantclient19.3-basic

    (如果要查看所有 Instant Client 软件包的列表,请访问 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html。)

  • 其他 OSes 和体系结构:

    1. 转到 Oracle Instant Client 下载页,然后为您的系统的 OS 和体系结构选择下载。

    2. 在下载页面上,接受 Oracle Technology Network 许可协议,下载最新版本的基本程序包,然后按照下载页面底部的说明进行安装。

下载并安装 node-oracledb

下载并安装适用于您系统 OS 和体系结构的 Node.js 的 node-oracledb 附加组件:

  • Oracle Linux:

    运行以下命令以下载并安装最新版本的 node-oracledb:

    sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
    sudo yum install -y node-oracledb-node10
  • 其他 OSes 和体系结构:

    转到安装 node-oracledb 页面,为您的 OS 和体系结构选择“我的数据库在其他计算机上”,然后按照安装附加组件说明进行操作。

下载并安装数据库的客户端身份证明

  1. 将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。

    可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您的 Oracle Cloud 用户账户允许您访问此页,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。

    1. 在 Web 浏览器中,登录到 Oracle Cloud 并导航到 Autonomous Database 的“详细信息”页面。

    2. 单击 DB Connection(数据库连接)

    3. 数据库连接页上,单击下载

    4. 下载 Wallet 对话框中,在密码字段中输入 wallet 密码,并在确认密码字段中确认该密码。

      密码长度必须至少为 8 个字符,并且必须包括至少 1 个字母和 1 个数字字符或 1 个特殊字符。

    5. 单击 Download(下载)以将客户端身份证明 zip 文件保存到安全目录。

  2. 下载 zip 文件后,请执行以下步骤:

    1. 解压缩客户端身份证明 zip 文件。

    2. 编辑客户机凭证中提供的 sqlnet.ora 文件,将 "?/network/admin" 替换为您解压缩客户机凭证的目录的完整路径;例如,更改:

      (DIRECTORY="?/network/admin")

      到:

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. 创建 TNS_ADMIN 环境变量,将其值设置为解压缩客户机凭证的目录的完整路径。

编写数据库连接和 SQL 语句的代码

将开发系统配置为支持 Node.js 应用程序连接到 an Autonomous Database 后,请执行以下步骤以确保应用程序使用数据库的最佳性能:

  1. 将 node-oracledb 附加组件的相关性添加到应用程序的 package.json 文件中。

  2. 通过代码连接实现高性能和连续可用性。

将 node-oracledb 相关项添加到 package.json

在应用程序的 package.json 文件中编辑 dependencies 对象,添加 oracledb 软件包和版本。(如果 package.json 不存在,请使用命令 npm init 生成该命令。)例如:

. . .
"dependencies": {
  . . .,
  "oracledb": "^4.0",
  . . .
},
. . .

有关 dependencies 对象的详细信息,请参见 npm-package.json 页面。要显示安装的 oracledb 版本,可以使用 npm list 命令;例如:

npm list -g --depth=0

通过代码连接实现高性能和连续可用性

要实现高性能和持续可用性,请在连接到数据库时遵循以下准则:

  • 使用连接池。
  • 启用 FAN(快速应用程序通知)。
  • 使用与要执行的操作最匹配的预定义数据库服务。有关预定义数据库服务的信息,请参阅自治数据库的预定义数据库服务名

例如:

pool = await oracledb.createPool({
  events: true,
  user: "appuser",
  password: process.env.MY_PASSWORD_ENV_VAR,
  connectString: "tp_tls"
});

此示例为 tp_tls 数据库服务的连接创建池,并通过将 events 属性设置为 true 来启用 FAN。

其他资源

有关 node-oracledb 的详细信息,请访问 node-oracledb 文档页面,该页面包括 API 参考和用户指南。

有关演示各种 node-oracledb 功能的代码示例,请转到 node-oracledb 示例文件夹。