【问题标题】:What MySQL drivers are available for node.js? [closed]哪些 MySQL 驱动程序可用于 node.js? [关闭]
【发布时间】:2011-04-22 04:26:20
【问题描述】:

有没有除了node-mysql?之外常用的MySQL Node.JS Driver

(似乎 node.js 数据库驱动程序没有太多活动。这是有原因的还是仅仅是因为 Node.JS 太年轻了?)

【问题讨论】:

  • 这个可以重新打开吗?虽然确定哪个驱动程序最好可能是主观的,但它是一个非常好的驱动程序列表,可能是网络上最好的编译。此外,当您搜索“node.js mysql”时,此页面在 Google 上排名第一。
  • 这是一个有用的问题。应该重新打开。
  • 有时辩论实际上是有用的。有什么更好的方法来找出各种选择的优缺点?请重新打开。如果这确实不适合您的格式,也许您应该考虑扩展格式。
  • 好问题。访问者可以看到在 stackoverflow 上闲逛的专家的意见。
  • 请重新打开,这是建设性的,并且会吸引很多用户寻找答案。

标签: javascript mysql database node.js


【解决方案1】:

这里有一些选项:

【讨论】:

  • 我决定选择 piscisaureus 的 node-mysql 分支。到目前为止看起来不错!谢谢!
【解决方案2】:

【讨论】:

  • 是否可以运行异步 DML 语句?例如,我想异步运行一堆 UPDATE 和 DELETE。
  • 当然可以。您应该为此使用conn.query()。
【解决方案3】:

如果您需要 MySQL 的 ORM,您可能需要查看 http://sequelizejs.com :)

【讨论】:

    【解决方案4】:

    您还可以尝试一种名为Node.js DB 的新项目,该项目旨在为多个数据库引擎提供一个通用框架。它是用 C++ 构建的,因此性能得到了保证。

    具体来说,您可以将其 db-mysql 驱动程序用于Node.js MySQL support。

    【讨论】:

    • Node.js DB 依赖于平台,因此它不适用于例如窗户。
    • “它是用 C++ 构建的,所以性能有保证”。哈哈。
    【解决方案5】:

    对于使用 node.js 连接 MySQL,我使用 node-odbc 取得了巨大成功

    它还可以完美地连接到 IBM 的 DB2 等其他数据库,而且速度惊人。

    This page 对于在 linux 上配置 ODBC 特别有用。

    使用yum install mysql-connector-odbc 安装后,我的 /etc/odbc.ini 文件如下所示:

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

    我省略了服务器、用户、数据库、端口、密码等内容,以便我可以从我的连接字符串中设置这些内容(我需要连接到多个数据库)。

    保存 /etc/odbc.ini 后,使用以下命令安装它:odbcinst -i -s -l -f /etc/odbc.ini

    这是一个用于测试的代码示例:

        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 = ['jiy@stackoverflow.com'];
            var qry = "select * users where email = ?";
            db.query(qry, params, function(err, rows, def) {
                if(err) console.log(err);
                console.log(rows);
            });
        });
    

    或者如果你想使用咖啡脚本:

        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, ["jiy@stackoverflow.com"], (err, rows, def) ->
                if err? then console.log err else
                console.log rows
    

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2014-07-09
      • 2012-02-18
      • 2015-08-30
      • 2013-12-05
      • 1970-01-01
      相关资源
      最近更新 更多