2010-10-07 3 views
58

Y at-il un pilote Node.JS pour MySQL qui est couramment utilisé autre que node-mysql?Quels sont les pilotes MySQL disponibles pour node.js?

(Il semble qu'il n'y ait pas beaucoup d'activité avec les pilotes de base de données de Node.js. Y at-il une raison à cela ou est-ce simplement parce que Node .JS est si jeune)

+60

Cela peut-il être rouvert. Bien que déterminer quel pilote est le meilleur peut être subjectif, c'est une très bonne liste de pilotes, probablement la meilleure compilation sur le web. En outre, cette page se classe d'abord sur Google lorsque vous recherchez "node.js mysql". –

+12

Ceci est une question utile. Doit être rouvert. – Ethan

+11

Parfois, le débat est réellement utile. Quel meilleur moyen de connaître les avantages et les inconvénients de diverses options? Veuillez rouvrir. Si cela ne correspond pas vraiment à votre format, vous devriez peut-être envisager d'élargir le format. –

Répondre

13

Vous pouvez également essayer un effort plus récent connu sous le nom Node.js DB qui vise à fournir un cadre commun pour plusieurs moteurs de base de données. Il est construit avec C++ donc la performance est garantie. En particulier, vous pouvez utiliser son pilote db-mysql pour Node.js MySQL support.

+2

Node.js DB dépend de la plate-forme, il ne fonctionne donc pas par ex. Les fenêtres. – Jonas

+19

"Il est construit avec C++ donc la performance est garantie". Ha ha. –

3

Pour la connexion à MySQL avec Node.js, j'ai eu beaucoup de succès en utilisant node-odbc

Il est également parfaitement travaillé pour se connecter à d'autres bases de données telles que IBM DB2, et il a été étonnamment rapide.

This page est particulièrement utile pour configurer ODBC sur linux.

Après avoir installé avec yum install mysql-connector-odbc, mon dossier /etc/odbc.ini ressemble à ceci:

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

J'ai laissé des choses telles que le serveur, l'utilisateur, base de données, le port, mot de passe, etc. afin que je puisse mettre en ceux-ci de ma chaîne de connexion (j'ai besoin de se connecter à plusieurs bases de données).

Après avoir enregistré /etc/odbc.ini, il est installé avec cette commande: odbcinst -i -s -l -f /etc/odbc.ini

Et voici un exemple de code pour le tester:

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); 
     }); 
    }); 

Ou si vous vouliez utiliser 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 
Questions connexes