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 데이터베이스 클라이언트 연결 패키지를 다운로드하세요
인스턴트클라이언트-기본-리눅스, 인스턴트클라이언트-sdk-리눅스
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
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