Linux_node.js에서 Node.js 프로그램용 MySQL 또는 Oracle 데이터베이스를 구성하는 방법

WBOY
풀어 주다: 2016-05-16 15:10:06
원래의
2179명이 탐색했습니다.

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 
로그인 후 복사

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
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿