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

MysqL使用

安装MysqL 模块: 在安装根目录 cmd命令行执行命令

rush:bash;"> npm install MysqL

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

rush: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(""); 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 服务器已经开始工作...
"); response.write("已经连接上MysqL....
"); } clientReady(client); }); };

clientReady = function(client) {
var values = ['不错啊'];
client.query('insert into nodeMysqL set names = :1',values,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']+"
";
}

   response.write(data);  
   response.write("<a href="https://www.jb51.cc/tag/guanbi/" target="_blank" class="keywords">关闭</a><a href="https://www.jb51.cc/tag/MysqL/" target="_blank" class="keywords">MysqL</a>连接..."); 
   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客户端连接模块

rush:bash;"> $ 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

配置环境变量

rush:bash;"> $ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/ $ export OCI_LIB_DIR=/opt/instantclient

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

rush:bash;"> $ cd /usr/local/lib

$ npm install oracle

export LD_LIBRARY_PATH=/opt/instantclient

编写oracle.js文件 测试连接于执行sql是否正常
<div class="jb51code">
<pre class="brush:js;">
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();
});
});

终端运行命令
rush:bash;"> node oracle.js

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...