ActiveRecord在Windows上使用mysql命名管道

时间:2010-09-08 14:44:15

标签: mysql ruby activerecord named-pipes

是否可以通过命名管道从ruby / ActiveRecord连接到mysql数据库。 操作系统是Windows。

感谢。

2 个答案:

答案 0 :(得分:1)

经过几次尝试并查看我的.net连接通话后,我终于开始工作了。

我在独立脚本中使用activerecord。

此处有效的通话:

ActiveRecord::Base.establish_connection(
    :adapter => "mysql",
    :host => ".",
    :username => "root", 
    :password => "root", 
    :database => "test",
    :socket => "mysql_test")

请注意,默认情况下,mysql服务器附带的配置工具会配置一个名为“mysql”的套接字。我已将其更改为mysql_test以验证我确实要查看命名管道。

干杯。

答案 1 :(得分:0)

这不起作用

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)
from C:/Ruby/lib/ruby/1.9.1/mysql.rb:444:in
read'           来自C:/Ruby/lib/ruby/1.9.1/mysql.rb:110:in real_connect' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:600:in connect'           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:164:in initialize' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:36:in new'           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:36:in mysql_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:in new_connection'           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:在checkout_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:in块(2级)中C   heckout”           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco   rd / connection_adapters / abstract / connection_pool.rb:186:在结账时loop' 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:in块中'           来自C:/Ruby/lib/ruby/1.9.1/monitor.rb:201:in mon_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:in checkout'           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco   rd / connection_adapters / abstract / connection_pool.rb:93:in connection' 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:in retrieve_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:in retrieve_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:in connection'           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco   rd / base.rb:679:在columns' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/persistence.rb:284:in attributes_from_column_definition'中           来自C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/locking/optimistic.rb:62:in attributes_from_column_definition' from C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/base.rb:1394:in initialize'           来自C:/WorkspaceGunjan/TrafficTracker/TrafficTracker/TestProject/RubyPrograms/RubyPrograms/AccessTrafficTracker.rb:22:in new' from C:/WorkspaceGunjan/TrafficTracker/TrafficTracker/TestProject/RubyPrograms/RubyPrograms/AccessTrafficTracker.rb:22:in'   C:\ WorkspaceGunjan \ TrafficTracker \ TrafficTracker \ TestProject \ RubyPrograms \ RubyPrograms&GT;   C:\ WorkspaceGunjan \ TrafficTracker \ TrafficTracker \ TestProject \ RubyPrograms \ RubyPrograms&GT;   C:\ WorkspaceGunjan \ TrafficTracker \ TrafficTracker \ TestProject \ RubyPrograms \ RubyPrograms&GT;