NodeJs连接Oracle数据库

Node.js连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
Win7下安装node-oracledb官方步骤:https://community.oracle.com/docs/DOC-931127

系统环境:

  • windows7 x64
  • nodejs 4.4.7
  • Python 2.7.10
  • NPM 1.3.1

操作步骤简介

原理:npm调用下载,下载成功之后交由oracle客户端解析驱动包,解析成功之后,执行完成,目录node_modules生成oracledb模块。程序运行时调用oracle sdk执行代码编译,程序运行逻辑处理,输出页面结果。

  1. 安装Visual Studio 2017 Community(如已安装请跳过此步骤,下载地址:https://www.visualstudio.com/downloads
  2. 下载并配置oracle客户端驱动包
  3. 添加环境变量
  4. 手动编译oracledb模块
  5. 测试连接是否正常

安装详情

1、下载并安装VS2017

2、下载解压需要安装包(2个)

下载页面:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

下载名称:

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”文件目录不同,不会相互覆盖。

3、添加环境变量

  • OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include
  • OCI_LIB_DIR=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

4、手动编译oracledb

1. 在D盘创建一个空目录:build-oraceldb
2. 进入D:\build-oracledb目录,使用GIT下载最新版的node-oracledb,地址是:https://github.com/oracle/node-oracledb
3. 进入D:\build-oracledb\node-oracledb目录,打开命令行执行命令:node-gyp configure build 以生成build目录
4. 进入D:\build-oracledb\node-oracledb\build目录,用VS2017打开binding.sln,根据提示转换为最新项目
5. 使用VS2017手动进行编译,遇到编译失败的问题使用GOOGLE来解决
6. 编译成后将node-oracledb复制到真实项目的node_modules目录中,并改名为oracledb

5、测试连接是否正常

router.get('/', function (req, res, next) {

    var oracledb = require('oracledb');
    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],  // bind value for :id
                function (err, result) {
                    if (err) {
                        console.error(err.message);
                        return;
                    }
                    res.render('index', {title: '查询信息:' + JSON.stringify(result.rows)});
                });
        });

});
时间: 2024-10-12 05:57:18

NodeJs连接Oracle数据库的相关文章

通过ASP.NET连接Oracle数据库实例教程

通过ASP.NET连接Oracle数据库实例教程 长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦.最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET 访问Oracle 的东西,发现问题倒真的不少. 1.System.Data.OracleClient 和 System.Data.OleDb 命名空间 虽然通过这两个命名空间的类都可以访问 Oracle 数据库,但和 SQL Server 类似的(S

JDBC连接Oracle数据库常见问题及解决方法

oracle|解决|数据|数据库|问题 Jbuilder正确连接 oracle 9i需要注意的几个问题 oracle8以上的应该都使用classes12.jar文件作为jdbc驱动: 正确设置windows的classpath和jbuilder中的enterprise setup .configure libraries,将casses12.jar路径正确添加到上述需要设置的地方: 进入database pilot,在database pilot中,file---new 在driver列表中如果

JSP连接ORACLE数据库时注意的一些问题

js|oracle|数据|数据库|问题 一.如何去处理Clob.BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象) getAsciiStream() 方法返回按ASCII编码的输入流(java.io.InputStream对象) 所以如果你的数据库中有可能存储中文

Asp.Net连接Oracle数据库的例子

asp.net|oracle|数据|数据库 Asp.Net连接Oracle数据库的例子 刚接触asp.net,发现在 .Net Framework 1.1版中,直接就有System.Data.OracleClient类库, 用于访问Oracle数据库,不过我这里好像还是1.0 版本的,不支持该对象. 这里是一个通过oledb访问数据库的例子,与在asp中的差不多,能够访问大多数的数据库,比如access之类的. <%@ Page Language="VB" %> <%

Perl连接Oracle数据库

上次讲了在linux下安装Oracle,安装完之后可以用netac来配置远程数据库的本地命名. 要在perl下面连接oracle数据库,首先必须安装DBI和DBD for Oracle. 下面是一段perl程序 #!/usr/bin/perl use DBI; $dbname="oralce"; $user="user"; $passwd="password"; $dbh=""; $dbh = DBI->connect(

JDBC连接Oracle数据库出现Io 异常

环境:Oracle11g + MyEclipse 6.5 + JDK1.6 问题:JDBC连接Oracle数据库出现以下错误: java.sql.SQLRecoverableException: Io 异常: The Network Adapter could not establish the connection at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101) at oracle.

.net程序远程连接Oracle数据库

.net 远程连接Oracle数据库看起来挺简单的,但实际做起来还是遇到不少问题.把我今天折腾这个 东西的经验给大家共享吧. 访问 oracle 数据库的方式很多,我用的是 OleDbConnection,这个没什么好说的,代码如下: 1. 连接代码 _OleDbConnection = new OleDbConnection(connectionString); _OleDbConnection.Open(); 2.连接字符串 远程连接的连接字符串可以这样写 provider=MSDAORA;

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录

真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今天打算把接口从测试环境部署到公网环境上去的时候就出现了各种各样的问题,这次一定得记录一下. 先来说一下这套接口系统的整体方案: 之所用选用asp是因为属于轻量级的接口系统,只需要修改好了以后复制粘贴上去接口就立即生效,而不需要像java系的接口程序要用tomcat打包.上传.部署这样的.那这个系统就

spring mvc-关于myeclipse连接Oracle数据库问题

问题描述 关于myeclipse连接Oracle数据库问题 详情: 2016-2-16 20:23:57 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [SpringMVC] in context with path [/BiYe] threw exception [Request processing failed; nested exception is org.s