建置 Node.js 應用程式
若要建置可存取自治式 AI 資料庫的 Node.js 應用程式,您必須先設定開發系統來支援資料庫存取,以充分利用自治式 AI 資料庫的持續可用性和高效能功能。
設定開發系統之後,您可以編寫應用程式中的資料庫連線和 SQL 敘述句,以利用持續可用性和高效能功能。
提示:如需閱讀下列主題的「試試看」替代方案,請瀏覽 Oracle Autonomous AI Database Dedicated for Developers and Database Users Workshop 中的 Lab 3:Build and Deploy Node.js Application 。
設定您的 Node.js 開發系統
若要設定您的開發系統,讓 Node.js 應用程式可以利用自治式 AI 資料庫的持續可用性和高效能功能,請執行下列步驟。
-
下載和安裝 Node.js。
-
下載並安裝 Oracle Instant Client。
-
下載並安裝 node-oracledb。
-
下載資料庫的從屬端證明資料,並讓它們可供 Oracle Instant Client 使用。
Before You Begin - 開始之前
您的開發系統必須符合特定條件,才能順利進行設定。
-
它必須具備網際網路存取權。
-
它必須具備自治式 AI 資料庫的網路存取權。
請參閱設定開發系統以存取資料庫,瞭解如何確保您的開發系統符合此需求。
下載並安裝 Node.js
為系統的作業系統和架構下載並安裝 Node.js:
-
Oracle Linux:
執行下列命令以下載並安裝最新版本的 Node.js:
sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
sudo yum install -y nodejs
-
其他作業系統與架構:
前往 Node.js 下載項目頁面,為系統的作業系統與架構選取最新的 LTS (長期支援) 版本,然後進行安裝。
下載並安裝 Oracle Instant Client
您需要 Oracle Instant Client 函式庫版本 19.6 或更新版本。
下載並安裝適用於您系統作業系統和架構的 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 。)
-
其他作業系統與架構:
-
移至 Oracle Instant Client 下載頁面,並選取您系統作業系統和架構的下載項目。
-
在下載頁面上,接受 Oracle Technology Network 授權合約、下載最新版本的基本套件,然後依照下載頁面底部的指示進行安裝。
-
下載並安裝 node-oracledb
下載並安裝適用於您系統作業系統和架構的 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
-
其他作業系統與架構:
請到 安裝 node-oracledb 頁面,選擇作業系統和架構的「我的資料庫在其他機器上」指示,然後依照 安裝附加元件 的指示進行。
下載並安裝資料庫的從屬端證明資料
-
將包含您資料庫之從屬端證明資料的壓縮檔下載至您電腦上的安全目錄。
您可以從 Oracle Cloud 主控台中資料庫的「詳細資訊」頁面下載此壓縮檔。如果您有一個允許您存取此頁面的 Oracle Cloud 使用者帳戶,請下載下列證明資料。如果您沒有這樣的帳戶,您必須將 zip 檔案與資料庫管理員取得,以及用來保護 zip 檔案的密碼一起取得。
-
在 Web 瀏覽器中,登入 Oracle Cloud 並瀏覽至「自治式 AI 資料庫」的「詳細資訊」頁面。
-
按一下資料庫連線。
-
在資料庫連線頁面中,按一下下載。
-
在下載公事包對話方塊中,於密碼欄位中輸入一個公事包密碼,然後在確定密碼欄位中確認該密碼。
密碼長度至少必須包含 8 個字元,而且必須包含至少 1 個字母和 1 個數字字元或 1 個特殊字元。
-
按一下下載,將從屬端證明資料壓縮檔儲存至安全目錄。
-
-
下載壓縮檔之後,請遵循下列步驟:
-
解壓縮從屬端證明資料壓縮檔。
-
編輯從屬端證明資料中提供的
sqlnet.ora檔案,將"?/network/admin"取代為您解壓縮從屬端證明資料之目錄的完整路徑;例如,變更:(DIRECTORY="?/network/admin")到:
(DIRECTORY="/users/jdoe/adbcredentials") -
建立
TNS_ADMIN環境變數,將其值設為您解壓縮從屬端證明資料之目錄的完整路徑。
-
程式碼資料庫連線和 SQL 敘述句
在設定開發系統以支援與自治式 AI 資料庫的 Node.js 應用程式連線之後,請遵循下列步驟,確保應用程式使用資料庫的最佳效能:
-
新增對 node-oracledb 附加元件的相依性至您應用程式的
package.json檔案。 -
提供高效能和持續可用性的程式碼連線。
新增 node-oracledb 相依性 topackage.json
編輯您應用程式之 package.json 檔案中的 dependencies 物件,新增 oracledb 套裝程式和版本。(如果 npm init 不存在,請使用命令來產生 package.json。) 舉例而言:
. . .
"dependencies": {
. . .,
"oracledb": "^4.0",
. . .
},
. . .
如需有關 dependencies 物件的詳細資訊,請參閱 npm-package.json 頁面。若要顯示已安裝的 oracledb 版本,您可以使用 npm list 指令,例如:
npm list -g --depth=0
高效能和持續可用性的程式碼連線
為了達到高效能和持續可用性,請依照下列準則來連線資料庫:
-
使用連線集區。
-
啟用 FAN (快速申請通知)。
-
使用最符合將執行之作業的預先定義資料庫服務。如需預先定義之資料庫服務的相關資訊,請參閱自治式 AI 資料庫的預先定義資料庫服務名稱。
舉例而言:
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 Reference 和 User Guide。
-
如需示範各種節點 oracledb 功能的程式碼範例,請移至 node-oracledb examples 資料夾。