node 连接oracle

使用node 连接oracle对于刚开始入手 node项目或之前使用mysql 的同学,需要花一点时间对环境进行安装。

镜像

npm: https://www.npmjs.com/package/oracle

taobao: https://npm.taobao.org/package/oracle 

注意:在taobao 镜像上面有一句醒目的描述 “This library is not maintained. Oracle has made there own driver.” ,所以我这里用的是 npm的镜像。

安装oralce 之前需要配置一些环境,上面两个镜像有描述,具体的可以参考:https://github.com/xianglongxiang/node-oracledb,下面是我安装的一个步骤:

 

一、安装工具

1、安装Python 2.7 : https://www.python.org/download/releases/2.7/

安装成功:

2、安装GCC、Visual Studio 或者 similar,我这里安装的是Visual Studio:

Visual Studio: https://www.visualstudio.com/

安装成功:

3.安装oracle 的个客户端和SDK

客户端和SDK:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

如果你没有账号,可以在这里下载 

客户端:http://pan.baidu.com/s/1nuOg9QT

SDK:http://pan.baidu.com/s/1eRERzBs

将instantclient_basic-windows.x64-12.1.0.2.0.zip 和 instantclient_sdk-windows.x64-12.1.0.2.0.zip 解压到“同一个目录文件夹下”,特别注意,同一个目录文件夹下面。

将文件夹地址配置到环境变量: C:\oracle\instantclient.

如果上面的工具安装,没有问题进行下面一步操作

二、安装node,这里不详解,具体的看node 官网, https://nodejs.org/en/ 

三、通过Visual Studio 配置

打开Visual Studio ->工具->NuGet包管理器->程序包管理控制台  输入下面命令

set OCI_LIB_DIR=C:\oracle\instantclient\sdk\lib\msvc
set OCI_INC_DIR=C:\oracle\instantclient\sdk\include

 

四、安装npm 安装oracle 驱动

使用cmd或编辑器的控制台 npm install  oralcedb --save

如果这里能安装成功,说明orace驱动已经完成好了。

 

五、测试是否连接成功

var oracledb = require('oracledb');
oracledb.getConnection({
connectString : "172.16.1.219/orcl",
user : "test",
password : "test"
},function(err, connection) {
if (err) console.error(err.message);
  console.log("连接成功")

});

  

 



 

转载于:https://www.cnblogs.com/xianglx/p/5756856.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装 `oracledb` 模块来连接 Oracle 数据库,可以使用 `npm` 命令进行安装: ``` npm install oracledb ``` 接下来,你可以编写一个 Node.js 的接口来发送请求并连接 Oracle 数据库,示例代码如下: ```javascript const oracledb = require('oracledb'); const express = require('express'); const app = express(); const port = 3000; // 连接数据库 async function connect() { try { await oracledb.createPool({ user: 'USERNAME', password: 'PASSWORD', connectString: 'HOST:PORT/SID' }); console.log('Connected to Oracle database'); } catch (err) { console.error(err); } } // 查询数据库 async function query(sql, params) { let connection; let result; try { connection = await oracledb.getConnection(); result = await connection.execute(sql, params); } catch (err) { console.error(err); } finally { if (connection) { try { await connection.close(); } catch (err) { console.error(err); } } } return result; } // 定义接口 app.get('/api/query', async (req, res) => { const sql = 'SELECT * FROM TABLE_NAME'; const result = await query(sql, []); res.send(result); }); // 启动服务 app.listen(port, () => { console.log(`Server is running on port ${port}`); connect(); }); ``` 在以上代码中,我们使用 `oracledb` 模块来连接数据库并发送查询请求。首先,我们通过 `createPool` 方法创建一个连接池,并在 `getConnection` 方法中获取连接对象,然后通过 `execute` 方法执行 SQL 查询语句。最后,在查询结束后,我们关闭连接池。 接口部分,我们定义了一个 `/api/query` 接口,当接收到请求时,我们执行 SQL 查询语句并将结果返回给客户端。最后,我们启动 Node.js 服务并监听 3000 端口。 当你运行该代码后,你可以通过访问 http://localhost:3000/api/query 来获取数据库查询结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值