什么MySQL驱动程序可用于node.js?
是否有一个节点mysql的Node.JS驱动程序是常用的节点mysql以外?
(好像node.js数据库驱动没有太多的活动,是不是有这个原因,还是仅仅因为Node.JS太年轻了?)
这里有一些选项:
- http://github.com/felixge/node-mysql (最后更新:9月29日)
- http://github.com/sidorares/nodejs-mysql-native (上次更新时间:8月31日)
您也可以尝试一个称为Node.js DB的新的努力,旨在为多个数据库引擎提供一个通用框架。 它是用C ++构build的,因此性能得到保证。
具体来说,您可以使用它的db-mysql驱动程序来支持Node.js MySQL 。
如果你需要一个ORM for MySQL你可能想看看http://sequelizejs.com 🙂
对于使用node.js连接到MySQL,我使用node-odbc取得了巨大的成功
对于连接到其他数据库(如IBM的DB2)来说,它也是完美无瑕的工作,而且速度惊人。
这个页面在linux上configurationODBC特别有用。
用yum install mysql-connector-odbc
,我的/etc/odbc.ini文件看起来像这样:
[MYSQL] Description = MySQL ODBC Driver Driver = /usr/lib64/libmyodbc3.so
我遗漏了诸如服务器,用户,数据库,端口,密码等东西,以便我可以从我的连接string(我需要连接到多个数据库)设置这些。
保存/etc/odbc.ini后,使用以下命令安装: odbcinst -i -s -l -f /etc/odbc.ini
这里有一个testing它的代码示例:
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