nodejs 使用官方oracledb库连接数据库 教程

转自:https://www.cnblogs.com/rysinal/p/7779055.html, 记录学习

1. 安装编译环境软件

  这里是下载的 Visual Studio Express 2013 for Windows Desktop

2. 安装oracle instant client

  这是 Oracle 提供的访问数据库的 C++接口, windows 64位在这里下载 Version 12.1.0.1.0 中的

  instantclient-basic-windows.x64-12.1.0.1.0.zip和   instantclient-sdk-windows.x64-12.1.0.1.0.zip;

   官网: https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

   百度云 https://pan.baidu.com/s/1dEBok1r#list/path=%2F

3. 环境变量配置

  OCI_LIB_DIR=D:dboracleinstantclient_12_2sdklibmsvc

  OCI_INC_DIR=D:dboracleinstantclient_12_2sdkinclude

  OCI_VERSION=12

  path环境变量 里加上 以下两个,注意先后顺序

  D:dboracleinstantclient_12_2vc14

  D:dboracleinstantclient_12_2

4. 安装node

5. 安装oracledb包

  npm install oracledb

  测试

    

var oracledb = require('oracledb');
var config = {
  user:'******',  //用户名
  password:'******',  //密码
  //IP:数据库IP地址,PORT:数据库端口,SCHEMA:数据库名称
  connectString : "IP:PORT/SCHEMA"
};
oracledb.getConnection(
  config,
  function(err, connection)
  {
    if (err) {
      console.error(err.message);
      return;
    }
  //查询某表十条数据测试,注意替换你的表名
    connection.execute("SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM 你的表名) A WHERE ROWNUM <= 10 ) WHERE RN >= 0",
      function(err, result)
      {
        if (err) {
          console.error(err.message);
          doRelease(connection);
          return;
        }
        //打印返回的表结构
        console.log(result.metaData);
        //打印返回的行数据
        console.log(result.rows);
      });
  });

function doRelease(connection)
{
  connection.close(
    function(err) {
      if (err) {
        console.error(err.message);
      }
    });
}

  

原文地址:https://www.cnblogs.com/it-wwp/p/14972753.html