博客
关于我
NodeJs连接Oracle数据库
阅读量:793 次
发布时间:2023-02-16

本文共 1894 字,大约阅读时间需要 6 分钟。

Node.js 连接 Oracle 数据库 的配置与使用指南

在本文中,我们将详细介绍如何在 Node.js 开发环境中配置与 Oracle 数据库 的连接,包括环境搭建、依赖安装及常见问题解决方案。

一、运行原理分析

在 Node.js 项目中使用 Oracle 数据库 时,主要依赖于 oracledb 模块。这一模块通过 npm 来下载并解析相关驱动包,完成后会将生成的 oracledb 模块放在 node_modules 目录下。随后,在程序运行时,通过调用 Oracle SDK 进行代码编译和逻辑处理,最终输出处理结果。

二、实现步骤简介

  • 下载并安装必要的 Oracle 客户端工具包

    • 需要下载两个文件:
      • instantclient-basiclite-windows.x64-12.1.0.2.0.zip
      • instantclient-sdk-windows.x64-12.1.0.2.0.zip
    • 解压这两个文件到同一目录(建议位置为 C:\oracle\instantclient_12_1),确保文件名不发生覆盖。
  • 设置 Oracle 的环境变量

    • 在操作系统环境变量中添加以下路径:
      • OCI_INC_DIR: 指向 Oracle SDK 头文件目录,例如 C:\oracle\instantclient_12_1\sdk\include
      • OCI_LIB_DIR: 指向 Oracle SDK 库文件目录,例如 C:\oracle\instantclient_12_1\sdk\lib\msvc
    • 如果系统中已有 Oracle 服务器安装,需将上述环境变量调整为:
      • OCI_INC_DIR = C:\app\Administrator\product\11.2.0\dbhome_1\oci\include
      • OCI_LIB_DIR = C:\app\Administrator\product\11.2.0\dbhome_1\OCI\lib\MSVC
  • 通过 npm 安装 oracledb 模块

    • 在项目根目录下执行以下命令:
      npm install oracledb
    • 这将下载并安装必要的 Oracle 数据库驱动程序。
  • 获取示例代码

    • 创建一个基本的 Express 路由器文件(如 index.js):
      const express = require('express');const router = express.Router();const oracledb = require('oracledb');router.get('/', function (req, res, next) {  oracledb.getConnection({    user: 'username',    password: 'password',    connectString: '192.168.20.10:1521/ORCL'  }, function (err, connection) {    if (err) {      console.error(err.message);      return;    }    connection.execute(      "SELECT * FROM CMS_FILE WHERE content_id = :id",      [1072],      function (err, result) {        if (err) {          console.error(err.message);          return;        }        res.render('index', {          title: '查询信息:' + JSON.stringify(result.rows)        });      }    );  });});module.exports = router;
  • 常见错误解决方案

    • 如果遇到类似 "The specified procedure could not be found" 的错误:
      • 检查 Oracle 客户端版本与环境变量配置是否一致。
      • 确保 Oracle 服务器地址和端口号配置正确。
      • 在重新安装完驱动程序后,删除旧的 oracledb 模块,重新运行 npm install oracledb
  • 通过以上步骤,您可以顺利配置 Node.js 项目与 Oracle 数据库 的连接,并根据实际需求进行扩展和优化。

    转载地址:http://gxjfk.baihongyu.com/

    你可能感兴趣的文章
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理一
    查看>>
    Netty源码—8.编解码原理二
    查看>>
    Netty源码解读
    查看>>
    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
    查看>>
    Netty相关
    查看>>
    Netty遇到TCP发送缓冲区满了 写半包操作该如何处理
    查看>>
    Netty:ChannelPipeline和ChannelHandler为什么会鬼混在一起?
    查看>>
    Netty:原理架构解析
    查看>>
    Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
    查看>>
    Network Sniffer and Connection Analyzer
    查看>>
    Network 灰鸽宝典【目录】
    查看>>
    NetworkX系列教程(11)-graph和其他数据格式转换
    查看>>
    Networkx读取军械调查-ITN综合传输网络?/读取GML文件
    查看>>
    network小学习
    查看>>
    Netwox网络工具使用详解
    查看>>
    Net与Flex入门
    查看>>
    net包之IPConn
    查看>>
    Net操作配置文件(Web.config|App.config)通用类
    查看>>
    Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
    查看>>