连接重新连接后,无法在Rails 2.3.8中执行“LOAD DATA LOCAL INFILE”Mysql查询

时间:2013-07-24 09:09:44

标签: mysql activerecord

在MySqL配置上,local_infile已启用,因为我可以验证:SHOW VARIABLES - > local_infile ON。

但是当我执行以下命令时:

的ActiveRecord :: Base.connection.disconnect!

的ActiveRecord :: Base.verify_active_connections!

ActiveRecord :: Base.connection.execute(“LOAD DATA LOCAL INFILE'blalalla'INTO TABLE blababla”)

我收到的内容如下: ActiveRecord :: StatementInvalid:Mysql :: Error:此MySQL版本不允许使用命令:LOAD DATA LOCAL INFILE'/tmp/tmp_stores.csv'INTO TABLE tmp_sztores

这个主题几乎是完全(只是补丁,没有解释),至少在一个现有问题:4652330

Cannot execute "LOAD DATA LOCAL INFILE" Mysql query in Rails after a connection reconnection

我的问题是:为什么在我调用verify_active_connections时会发生这种情况!因此只有当连接关闭然后再次重新连接/连接时?为什么在最初在establish_connection上初始化连接池时它可以工作?

我已经检查了与方法verify_active_connections相关的代码!它委托给MyslAdapter #reconnect!它调用相同的“连接”方法......

我不明白为什么重新连接后应该显式设置local_infile标志,否则它不起作用。

谢谢!!!

0 个答案:

没有答案