首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >普通老Ruby数据在文件中本地加载

问普通老Ruby数据在文件中本地加载
EN

Stack Overflow用户
提问于 2015-03-24 18:35:12
回答 1查看 306关注 0票数 0

问题: MYSQL和RUBY (不是rails吗?)给出错误:

此MySQL版本不允许使用所使用的命令(Mysql::Mysql)

亲爱的朋友:

  1. 我可以从命令行发出这个命令,但不能从我的ruby (没有rails)发出。 mysql>将数据本地“remediation_rewrite.csv”加载到表report.remediation忽略1行(MACHINE_NAME、TYPE_OF_ACTION、SCORE、FILE_PATH、MD5、REGKEY、VThit、action、action_result、action_result_detail、date);查询确定,455168行受影响,65535条警告(22.35秒)

2)由于以下原因失败的Ruby命令:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 19:20:49

根据“mysql2”gem文档,出于安全原因,您需要将:local_infile指定为true (说明这里,并引用这里)。

将此替换为@con客户端对象:

代码语言:javascript
复制
@con = Mysql2::Client.new(
  host: "172.16.10.193", 
  username: "myusername",
  password: "xxx", 
  database: "reporttdatabase",
  local_infile: true
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29240297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档