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 oracleexport 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