Linux下为Node.js程序配置MySQL或Oracle数据库的方法_node.js

mysql使用
安装mysql 模块:
在安装根目录 cmd命令行执行命令 

npm install mysql

安装成功后、
mysql数据库表 已存在的情况下。
在nodejs根目录 新建mysql.js:

var sys = require('util');
var mysql=require('mysql');
console.log('正在连接MySQL...');
var http = require("http");
var server=http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html;charset:utf-8"});
  response.write("<!doctype html><html><meta charset='utf-8'/>");
   var client = mysql.createConnection({'host':'localhost','port':3306,'user':'testmysql','password':'123456'});
  clientConnectionReady = function(client)
  {
    client.query('use test', function(error, results) {
      if(error) {
        console.log('ClientConnectionReady Error: ' + error.message);
        client.end();
        return;
      }else{
        response.write("nodejs 服务器已经开始工作...<br/>");
        response.write("已经连接上MySQL....<br/>");
    }
      clientReady(client);
    });
  }; 

  clientReady = function(client) {
    var values = ['不错啊'];
    client.query('insert into nodemysql set names = :1', values,
      function(error, results) {
        if(error) {
          console.log("ClientReady Error: " + error.message);
          client.end();
          return;
        }
        console.log('Inserted: ' + results.affectedRows + ' row.');
        console.log('Id inserted: ' + results.insertId);
      }
    );
    getData(client);
  } 

  getData = function(client) {
    client.query(
      'select * from nodemysql',
      function selectCb(error, results, fields) {
        if (error) {
          console.log('GetData Error: ' + error.message);
          client.end();
          return;
        }
     var data = '';
      for(var i=0; i<results.length; i++){
      var firstResult = results[i];
         data += 'id: ' + firstResult['id']+'  name: ' + firstResult['names']+"<br/>";
      } 

       response.write(data);
       response.write("关闭MySQL连接...");
       response.write("</html>");
      response.end();
      }
    );
    client.end(); 

  }; 

  clientConnectionReady(client);
});
server.listen(8033,"127.0.0.1"); 

var sys = require("util");
sys.puts("Server running at http://localhost:8033/");

 运行 node mysql.js  。
 浏览器 访问 http://localhost:8033 即可看到效果。

配置oracle支持
在oracle网站下载oracle数据库客户端连接包  
instantclient-basic-linux,instantclient-sdk-linux  
解压oracle客户端连接模块   

$ unzip instantclient-basic-linux-11.2.0.3.0.zip
$ unzip instantclient-sdk-linux-11.2.0.3.0.zip
$ sudo mv instantclient_11_2/ /opt/instantclient 

$ cd /opt/instantclient
$ sudo ln -s libocci.so.11.1 libocci.so
$ sudo ln -s libclntsh.so.11.1 libclntsh.so

配置环境变量  

$ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/
$ export OCI_LIB_DIR=/opt/instantclient

进入nodejs目录  安装oracle模块支持  

$ cd /usr/local/lib 

$ npm install oracle 

export LD_LIBRARY_PATH=/opt/instantclient

编写oracle.js文件 测试连接于执行sql是否正常  

var oracle = require("oracle"); 

oracle.connect({ "hostname": "localhost", "user": "demo", "password": "demo", "database": "orcl", "port": 1521}, function(err, connection) {
 if(err) {
  console.log(err);
 }
 // selecting rows 注意 connection.execute 方法必须要三个参数 不然会出错
 connection.execute("SELECT * FROM TEST WHERE ID = :1", ['1'], function(err1, results) {
  // results will be an array of objects
  console.log("query start");
  if(err1) {
    console.log(err1);
  }
  // console.log(results.length);
  for(var i = 0; i < results.length; i++) {
   console.log(results[i].ID);
  }
  connection.close();
 });
});

 终端运行命令

 node oracle.js

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
, mysql
, oracle
node.js
node连接mysql数据库、nodejs mysql数据库、node搭建mysql数据库、nodejs与mysql数据库、oracle数据库转mysql,以便于您获取更多的相关知识。

时间: 2024-12-26 23:39:17

Linux下为Node.js程序配置MySQL或Oracle数据库的方法_node.js的相关文章

在Node.js中使用HTTP上传文件的方法_node.js

开发环境我们将使用 Visual Studio Express 2013 for Web 作为开发环境, 不过它还不能被用来做 Node.js 开发.为此我们需要安装 Node.js Tools for Visual Studio.  装好后 Visual Studio Express 2013 for Web 就会转变成一个 Node.js IDE 环境,提供创建这个应用所需要的所有东西..而基于这里提供的指导,我们需要:     下载安装 Node.js  Windows 版,选择适用你系统

Node.js程序中的本地文件操作用法小结_node.js

Node最引以为傲的就是它有一个非常小的核心.有一些语言绑定了完整的POSIX API,而 Node实现了尽可能少的绑定,并通过同步.异步或流API形式暴露他们. 这种方法意味着,操作系统中有一些非常方便的功能,需要在Node中重建.这是一个教你如何使用文件系统软件包的实用教程. 引用文件与文件系统的交互很重要的一点是要指向正确的文件.由于NPM的包使用相对路径引用,所以你不能把路径写死在代码.有两个主要方式来以确保包能引用到正确的文件: // 使用 `path.join()` 而不是 `+`

Node.js中process模块常用的属性和方法_node.js

前言 虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程.node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作. 如果不是和命令行工具打交道,可能我们很少有机会去用到process模块中的一些方法或者属性.不过如果你要做类似于webpack或者gulp等较为复杂的构建工具,由于bash界面就是和用户直接交流的工具,因此友好的输入输出,完整的提示都非常有必要了. 属性 一张表格大概可以看到

解析Node.js异常处理中domain模块的使用方法_node.js

NodeJS 提供了 domain 模块,可以简化异步代码的异常处理.在介绍该模块之前,我们需要首先理解"域"的概念.简单的讲,一个域就是一个 JS 运行环境,在一个运行环境中,如果一个异常没有被捕获,将作为一个全局异常被抛出.NodeJS 通过 process 对象提供了捕获全局异常的方法,示例代码如下 process.on('uncaughtException', function (err) { console.log('Error: %s', err.message); });

node.js WEB开发中图片验证码的实现方法_node.js

用node做web开发很多都可能碰到需要验证码的地方,之前在github上搜索,有一些比如node-captcha等的类库,都需要依赖第三方的图形处理库或者软件,像我之前安装cario这个图形库时,真是费了好大一番劲,但是其实我们只用到了这些图形库的一点点小功能,比如图片的尺寸修改裁剪,或者生产验证码. 先介绍一下CImg这个c++的图形库吧,CImg是一个跨平台的C++的图像处理库,提供了加载.处理.显示.保存等一系列功能,最吸引人的地方是整个图形库就一个CImg.h这个文件,所以非常的便携绿

node.js中实现同步操作的3种实现方法_node.js

众所周知,异步是得天独厚的特点和优势,但同时在程序中同步的需求(比如控制程序的执行顺序为:func1 -> func2 ->func3 )也是很常见的.本文就是对这个问题记录自己的一些想法. 需要执行的函数: 复制代码 代码如下: var func1 = function(req,res,callback){   setTimeout(function(){     console.log('in func1');     callback(req,res,1);    },13000); }

Linux下安装Python3和django并配置mysql作为django默认服务器方法_Linux

我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

Linux下vsftp的重新安装和配置虚拟用户

Linux下vsftp的重新安装和配置虚拟用户 重新安装和配置虚拟用户 以下都是在root用户下进行的 #tar zxvf vsftpd-2.0.5.tar.gz --解压 #cd vsftpd-2.0.5.tar.gz --解压后进入vsftpd-2.0.5.tar.gz目录 # mkdir /usr/share/empty/ --VSFTPD默认设置需要一个空目录:/usr/share/empty # mkdir /var/ftp/ --如果容许匿名用户(anonymous),那么你将需要一

linux下查看nginx、apache、mysql、php的编译参数

下文我们一起来看一个linux下查看nginx.apache.mysql.php的编译参数例子,希望此例子对各位有帮助. 查看nginx.apache.mysql.php参数我们可以用到 /App/nginx/sbin/nginx -V 查看nginx参数 # cat config.nice 查看apache参数 #cat "/usr/local/mysql/bin/mysqlbug"|grep configure 查看mysql参数 /usr/local/php/bin/php -i