ruby访问mysql,报mysql_api.so (LoadError)

本文介绍了解决Ruby连接MySQL数据库时出现的mysql_api.so(LoadError)错误的方法。通过将mysql安装目录下的libmySQL.dll文件复制到Ruby安装目录的bin文件夹下,成功解决了连接问题,并展示了如何使用Ruby进行简单的数据库查询。
转自:[url]http://hi.baidu.com/vincent%CE%E4/blog/item/98d63d2929bfc320d52af143.html[/url]

报mysql_api.so (LoadError),上网查了后发现ruby操作数据库还有一些特别的东西,把mysql安装目录下的libmySQL.dll拷贝到ruby安装目录的bin下,再次运行,可以连上数据库了。 require 'rubygems' require 'mysql' def with_db dbh=Mysql.real_connect('localhost','root','root','dedecmsv56gbk',3306) begin yield dbh rescue MysqlError => e print "Error code: ", e.errno, "\n" print "Error message: ", e.error, "\n" ensure dbh.close end end with_db do |db| res = db.query('select * from dede_addonarticle') res.each {|row| puts "#{row.to_s}"} res.free end
bundle exec rake db:migrate RAILS_ENV=production == 20150113213955 AddEmailAddressesUserIdIndex: migrating ===================== -- add_index(:email_addresses, :user_id) rake aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Duplicate key name 'index_email_addresses_on_user_id' /usr/local/rvm/gems/ruby-3.1.0/gems/mysql2-0.5.6/lib/mysql2/client.rb:151:in `_query' /usr/local/rvm/gems/ruby-3.1.0/gems/mysql2-0.5.6/lib/mysql2/client.rb:151:in `block in query' /usr/local/rvm/gems/ruby-3.1.0/gems/mysql2-0.5.6/lib/mysql2/client.rb:150:in `handle_interrupt' /usr/local/rvm/gems/ruby-3.1.0/gems/mysql2-0.5.6/lib/mysql2/client.rb:150:in `query' /usr/local/rvm/gems/ruby-3.1.0/gems/activerecord-6.1.7.8/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:206:in `block (2 levels) in execute' /usr/local/rvm/gems/ruby-3.1.0/gems/activesupport-6.1.7.8/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /usr/local/rvm/gems/ruby-3.1.0/gems/activesupport-6.1.7.8/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' /usr/local/rvm/gems/ruby-3.1.0/gems/activesupport-6.1.7.8/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' /usr/local/rvm/gems/ruby-3.1.0/gems/activerecord-6.1.7.8/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:205:in `block in execute' /usr/local/rvm/gems/ruby-3.1.0/gems/activerecord-6.1.7.8/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log' /usr/local/rvm/gems/ruby-3.1.0/gems/activesupport-6.1.7.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /usr/local/rvm/gems/ruby-3.1.0/gems/activesupport-6.1.7.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handl如何解决?
最新发布
08-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值