【发布时间】:2015-03-24 18:35:12
【问题描述】:
问题:MYSQL 和 RUBY(不是使用 rails?)给出错误:
此 MySQL 版本不允许使用的命令 (Mysql::Error)
亲爱的朋友们,
-
我可以从命令行发出这个,但不能从我的 ruby(没有 rails)发出。
mysql> 将数据本地infile 'remediation_rewrite.csv' 加载到表report.remediation IGNORE 1 行(MACHINE_NAME,TYPE_OF_ACTION,SCORE,FILE_PATH,MD5,REGKEY,VThit,action,action_result,action_result_detail,日期); 查询正常,455168 行受影响,65535 条警告(22.35 秒)
2) Ruby 命令因以下原因而失败:
column = "(MACHINE_NAME , TYPE_OF_ACTION , SCORE , FILE_PATH , MD5, REGKEY , VThit, action , action_result, action_result_detail, date)"
str = "Load data local infile " + "'" + "remediation_rewrite.csv" + "'" + " into table report.remediation" + " IGNORE 1 lines " + "#{column}" + ";";
p str
@con = Mysql.new("172.16.10.193", "myusername","xxx", "reporttdatabase")
@con.options(Mysql::OPT_LOCAL_INFILE, true)
rs = @con.query(str)
【问题讨论】:
-
文件的完整路径是什么?
remediation_rewrite.csv -
/home/myuser/database_parser/remediation_rewrite.csv
-
我加了全路径还是不行;
-
Generate_Remediation_Report.rb:100:in `query': 此 MySQL 版本不允许使用的命令 (Mysql::Error)
-
您使用哪个 gem 来执行 MySQL?它很可能根本不支持
LOAD DATA命令,因为它声明。您可以尝试使用“mysql2”gem。