ActiveRecord для использования MySQL именованных каналов на окнах - PullRequest
2 голосов
/ 08 сентября 2010

Можно ли подключиться из ruby ​​/ ActiveRecord к базе данных mysql по именованным каналам. ОС - это Windows.

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 сентября 2010

после нескольких попыток и, глядя на мои вызовы .net connect, я наконец-то заработал.

Я использую activerecord в автономном скрипте.

Вот этот вызов:*

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

Обратите внимание, что по умолчанию инструмент конфигурации, поставляемый с сервером MySQL, настраивает сокет с именем «MySQL».Я изменил это на mysql_test, чтобы убедиться, что я действительно пересекаю именованный канал.

Приветствия.

0 голосов
/ 03 февраля 2011

Это не работает

Версия Ruby: 1.9.1 Версия Mysql: 5.0

Код написан так:

<code>
    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: вread': Packets out of order: 0<> (RuntimeError)<br> from C:/Ruby/lib/ruby/1.9.1/mysql.rb:444:in чтение 'из C: /Ruby/lib/ruby/1.9.1/mysql.rb: 110: в 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 подключение' из C: /Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3 / lib / active_record / connection_adapters / mysql_adapter.rb: 164: в 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: в 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 оформлении заказа'из C: /Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_reco rd / connection_adapters / abstract / connection_pool.rb: 93: в 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: в 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 attribute_from_column_definition 'из C: /Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3 / lib / active_record / lock / optimistic.rb: 62: в 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 инициализировать 'из C: /WorkspaceGunjan/TrafficTracker/TrafficTracker/TestProject/RubyPrograms/RubyPrograms/AccessTrafficTracker.rb: 22: в new' 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 * 10 RubyPrograms * 10 RubyProgram **

...