Existe-t-il un pilote Node.JS pour MySQL qui est couramment utilisé autre que node-mysql?
(Il semble qu'il n'y ait pas beaucoup d'activité avec les pilotes de base de données node.js. Y a-t-il une raison à cela ou est-ce simplement parce que Node.JS est si jeune?)
Voici quelques options:
Vous pouvez également essayer un nouvel effort connu sous le nom de Node.js DB qui vise à fournir un cadre commun pour plusieurs moteurs de base de données. Il est construit avec C++ donc les performances sont garanties.
Plus précisément, vous pouvez utiliser son pilote db-mysql pour support MySQL Node.js .
Regardez juste https://github.com/Sannis/node-mysql-libmysqlclient .
Si vous avez besoin d'un ORM pour MySQL, vous voudrez peut-être vérifier http://sequelizejs.com :)
Pour me connecter à MySQL avec node.js, j'ai eu beaucoup de succès en utilisant node-odbc
Il a également fonctionné parfaitement pour la connexion à d'autres bases de données telles que DB2 d'IBM, et il a été étonnamment rapide.
Cette page est particulièrement utile pour configurer ODBC sur linux.
Après l'installation avec yum install mysql-connector-odbc
, mon fichier /etc/odbc.ini ressemble à ceci:
[MYSQL]
Description = MySQL ODBC Driver
Driver = /usr/lib64/libmyodbc3.so
J'ai omis des éléments tels que le serveur, l'utilisateur, la base de données, le port, le mot de passe, etc. afin de pouvoir les définir à partir de ma chaîne de connexion (je dois me 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