Quali driver MySQL sono disponibili per node.js?

Esiste un Node.JS Driver per MySQL che viene comunemente utilizzato oltre a node-mysql?

(Sembra che non ci sia molta attività con i driver del database node.js C’è una ragione per questo o è solo perché Node.JS è così giovane?)

Ecco alcune opzioni:

È inoltre ansible provare uno sforzo più recente noto come DB Node.js che mira a fornire una struttura comune per diversi motori di database. È costruito con C ++, quindi le prestazioni sono garantite.

Nello specifico è ansible utilizzare il suo driver db-mysql per il supporto MySQL di Node.js.

Se hai bisogno di un ORM per MySQL potresti voler controllare http://sequelizejs.com 🙂

Per la connessione a MySQL con node.js, ho avuto un grande successo usando node-odbc

Ha anche funzionato perfettamente per la connessione ad altri database come IBM DB2 ed è stato sorprendentemente veloce.

Questa pagina è particolarmente utile per configurare ODBC su Linux.

Dopo aver installato con yum install mysql-connector-odbc , il mio file /etc/odbc.ini appare così:

 [MYSQL] Description = MySQL ODBC Driver Driver = /usr/lib64/libmyodbc3.so 

Ho lasciato fuori cose come server, utente, database, porta, password ecc. In modo che io possa impostarle dalla mia stringa di connessione (ho bisogno di connettermi a più database).

Dopo aver salvato /etc/odbc.ini, viene installato con questo comando: odbcinst -i -s -l -f /etc/odbc.ini

Ed ecco un esempio di codice per provarlo:

  var odbc = require("odbc"); var db = new odbc.Database(); var conn = "dsn=mysql;server=localhost;user=root;database=mydb;port=3306;password=mypwd;command timeout=30000;"; db.open(conn, function(err) { if(err) throw err; var params = ['[email protected]']; var qry = "select * users where email = ?"; db.query(qry, params, function(err, rows, def) { if(err) console.log(err); console.log(rows); }); }); 

O se volessi usare il coffeescript:

  odbc = require "odbc" db = new odbc.Database() conn = "dsn=mysql;server=localhost;user=root;database=mydb;port=3306;password=mypwd;command timeout=30000;" db.open conn, (err) -> throw err if err qry = "select * from users where email = ?" db.query sql, ["[email protected]"], (err, rows, def) -> if err? then console.log err else console.log rows