2013-01-30 4 views
4

Это мой полный скрипт.Mysql2 :: Ошибка: Использованная команда не допускается с этой версией MySQL: LOAD DATA LOCAL INFILE

Я пытаюсь сделать задачу рейка, которая собирает данные из файлов в каталоге и загружает их в mysql.

Я установил local-infile = 1, ничего не работает. Она просто дает мне ошибку

namespace :db do 
    namespace :load do 
    desc "Load Properties into DB" 
    task :properties => :environment do 
     Mysql2::Client.default_query_options[:connect_flags] |= Mysql2::Client::LOCAL_FILES 
     @files = Dir.entries("db/property_website_scripts/") 
     connection = ActiveRecord::Base.connection() 

     for file in @files 
     next if file == "." || file == ".." 
     sql = "LOAD DATA LOCAL INFILE '#{Rails.root}/db/property_website_scripts/#{file}' 
       INTO TABLE properties 
       FIELDS TERMINATED BY '|' 
       LINES TERMINATED BY '\r\n' 
       (property_type,property_for,city,state,country......);" 

     connection.execute(sql) 
     end 

     #updating created at and updated at 
     Property.update_all({:created_at => Time.now, :updated_at => Time.now}, "created_at IS NULL") 
    end 
    end 
end 
+0

возможной DUP из http://stackoverflow.com/questions/10762239/enable-load-data -local-infile – pduersteler

+0

Я уже прошел этот пост до –

+1

В этом сообщении напрямую обращается к mysql, это rakefile. Там нет проблем, когда я использую mysql, проблема возникает, когда я использую его в rakefile. –

ответ

0

Я получаю ту же ошибку с версией 0.3.11 из mysql2 жемчужины всех внезапно. Поскольку я использовал эту версию какое-то время, я предполагаю, что это какая-то проблема зависимости с другим камнем. Попробуйте перейти на версию 0.3.12b5, которая исправила ее для меня.

+0

У моей коллеги такая же проблема, обновление до 0.3.12b6 и обновление mysql dev libs не решило ее. :-( – Jan