web-dev-qa-db-fra.com

Quels pilotes MySQL sont disponibles pour node.js?

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

58
Brad Barrows

Voici quelques options:

26

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 .

13
Mariano Iglesias
5
Sannis

Si vous avez besoin d'un ORM pour MySQL, vous voudrez peut-être vérifier http://sequelizejs.com :)

5
sdepold

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