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

WBOY
Release: 2016-05-16 15:10:06
Original
2106 people have browsed it

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

npm install mysql
Copy after login

安装成功后、
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(""); 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, 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"; } response.write(data); response.write("关闭MySQL连接..."); response.write(""); 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/");
Copy after login

运行 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
Copy after login

配置环境变量

$ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/ $ export OCI_LIB_DIR=/opt/instantclient
Copy after login

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

$ cd /usr/local/lib $ npm install oracle export LD_LIBRARY_PATH=/opt/instantclient
Copy after login

编写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(); }); });
Copy after login
终端运行命令
node oracle.js
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!