首页 > 编程 > JavaScript > 正文

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

2019-11-20 10:22:15
字体:
来源:转载
供稿:网友

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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表