Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫(kù)的方法
mysql使用
安裝mysql 模塊:
在安裝根目錄 cmd命令行執(zhí)行命令
npm install mysql
安裝成功后、
mysql數(shù)據(jù)庫(kù)表 已存在的情況下。
在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 服務(wù)器已經(jīng)開(kāi)始工作...<br/>"); response.write("已經(jīng)連接上MySQL....<br/>"); } clientReady(client); }); }; clientReady = function(client) { var values = ['不錯(cuò)啊']; 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("關(guān)閉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/");
運(yùn)行 node mysql.js 。
瀏覽器 訪問(wèn) http://localhost:8033 即可看到效果。
配置oracle支持
在oracle網(wǎng)站下載oracle數(shù)據(jù)庫(kù)客戶(hù)端連接包
instantclient-basic-linux,instantclient-sdk-linux
解壓oracle客戶(hù)端連接模塊
$ 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
配置環(huán)境變量
$ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/ $ export OCI_LIB_DIR=/opt/instantclient
進(jìn)入nodejs目錄 安裝oracle模塊支持
$ cd /usr/local/lib $ npm install oracle export LD_LIBRARY_PATH=/opt/instantclient
編寫(xiě)oracle.js文件 測(cè)試連接于執(zhí)行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 方法必須要三個(gè)參數(shù) 不然會(huì)出錯(cuò) 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
- node.js 開(kāi)發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫(kù)操作
- Node.js數(shù)據(jù)庫(kù)操作之查詢(xún)MySQL數(shù)據(jù)庫(kù)(二)
- Node.js下向MySQL數(shù)據(jù)庫(kù)插入批量數(shù)據(jù)的方法
- Node.js操作mysql數(shù)據(jù)庫(kù)增刪改查
- Node.js數(shù)據(jù)庫(kù)操作之連接MySQL數(shù)據(jù)庫(kù)(一)
- node.js平臺(tái)下的mysql數(shù)據(jù)庫(kù)配置及連接
- 從零學(xué)習(xí)node.js之mysql數(shù)據(jù)庫(kù)的操作(五)
- Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)功能示例
- Node.js對(duì)MySQL數(shù)據(jù)庫(kù)的增刪改查實(shí)戰(zhàn)記錄
- node.js如何操作MySQL數(shù)據(jù)庫(kù)
- Node.js實(shí)現(xiàn)http請(qǐng)求服務(wù)與Mysql數(shù)據(jù)庫(kù)操作方法詳解
- node.js對(duì)于數(shù)據(jù)庫(kù)MySQL基本操作實(shí)例總結(jié)【增刪改查】
相關(guān)文章
Node.js使用對(duì)話(huà)框ngDialog的示例代碼
本篇文章主要介紹了Node.js使用對(duì)話(huà)框ngDialog的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Node.js如何自動(dòng)審核團(tuán)隊(duì)的代碼
在項(xiàng)目開(kāi)發(fā)中,統(tǒng)一團(tuán)隊(duì)的代碼風(fēng)格很重要,本文介紹如何用Node.js來(lái)自動(dòng)審核,來(lái)提高您的開(kāi)發(fā)速度。2016-07-07Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境
這篇文章主要介紹了Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境的方法以及注意事項(xiàng),對(duì)此有需要的朋友可以參考學(xué)習(xí)下。2018-04-04詳解阿里Node.js技術(shù)文檔之process模塊學(xué)習(xí)指南
這篇文章主要介紹了詳解阿里Node.js技術(shù)文檔之process模塊學(xué)習(xí)指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問(wèn)題
這篇文章主要介紹了解決npm?i?報(bào)錯(cuò)以及python安裝卡住的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Node.js開(kāi)發(fā)之套接字(socket)編程入門(mén)示例
這篇文章主要介紹了Node.js開(kāi)發(fā)之套接字(socket)編程,結(jié)合簡(jiǎn)單實(shí)例形式分析了node.js套接字socket客戶(hù)端與服務(wù)器端相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2019-11-11