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

前端技术 2023/09/08 JavaScript

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

本文地址:https://www.stayed.cn/item/22640

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。