【发布时间】:2010-09-08 14:44:15
【问题描述】:
是否可以通过命名管道从 ruby/ActiveRecord 连接到 mysql 数据库。 操作系统是 Windows。
谢谢。
【问题讨论】:
标签: mysql ruby activerecord named-pipes
是否可以通过命名管道从 ruby/ActiveRecord 连接到 mysql 数据库。 操作系统是 Windows。
谢谢。
【问题讨论】:
标签: mysql ruby activerecord named-pipes
经过几次尝试并查看了我的 .net 连接调用后,我终于可以正常工作了。
我在独立脚本中使用 activerecord。
这是有效的调用:
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => ".",
:username => "root",
:password => "root",
:database => "test",
:socket => "mysql_test")
请注意,默认情况下,mysql服务器自带的配置工具会配置一个名为“mysql”的socket。我已将其更改为 mysql_test 以验证我确实正在检查命名管道。
干杯。
【讨论】:
这不行
Ruby 版本:1.9.1 mysql版本:5.0
编写的代码是:
require "rubygems"
require "active_record"
puts "1"
class Source < ActiveRecord::Base
puts "2"
establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "root",
:password => "root@123",
:database => "TrafficTracker"
)
end
puts "3"
traffic_source = Source.find(1)
puts "4"
puts traffic_source.source_name
上面的代码打印到 3 并在 Source.find(1) 处中断并出现错误:
1 2 3 C:/Ruby/lib/ruby/1.9.1/mysql.rb:1019:in
read': Packets out of order: 0<> (RuntimeError)read' 来自 C:/Ruby/lib/ruby/1.9.1/mysql.rb:110:in
from C:/Ruby/lib/ruby/1.9.1/mysql.rb:444:inreal_connect' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:600:inconnect' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:164:ininitialize' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:36:innew' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:36:inmysql_connection' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:228:innew_connection' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:incheckout_new_connection' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:190:inblock (2 个级别) 在 c 见鬼' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_pool.rb:186:inloop' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_pool.rb:186:inblock in checkout' 来自 C:/Ruby/lib/ruby/1.9.1/monitor.rb:201:inmon_synchronize' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_pool.rb:185:incheckout' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_pool.rb:93:inconnection' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_pool.rb:316:inretrieve_connection' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_specification.rb:97:inretrieve_conn ection' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/connection_adapters/abstract/connection_specification.rb:89:inconnection' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd/base.rb:679:incolumns' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/persistence.rb:284:inattributes_from_column_definition' 来自 C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/locking/optimistic.rb:62:inattributes_from_column_definition' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/base.rb:1394:ininitialize' 来自 C:/WorkspaceGunjan/TrafficTracker/TrafficTracker/TestProject/RubyPrograms/RubyPrograms/AccessTrafficTracker.rb:22:innew' from C:/WorkspaceGunjan/TrafficTracker/TrafficTracker/TestProject/RubyPrograms/RubyPrograms/AccessTrafficTracker.rb:22:in' C:\WorkspaceGunjan\TrafficTracker\TrafficTracker\TestProject\RubyPrograms\RubyPrograms> C:\WorkspaceGunjan\TrafficTracker\TrafficTracker\TestProject\RubyPrograms\RubyPrograms> C:\WorkspaceGunjan\TrafficTracker\TrafficTracker\TestProject\RubyPrograms\RubyPrograms>
【讨论】: