gpt4 book ai didi

mysql - 普通旧 Ruby 数据加载到本地文件中

转载 作者:行者123 更新时间:2023-11-29 07:40:29 26 4
gpt4 key购买 nike

问题:MYSQL 和 RUBY(不使用 Rails?)给出错误:

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

亲爱的 friend 们,

  1. 我可以从命令行发出此命令,但不能从我的 ruby​​(没有 Rails)发出此命令。

    mysql> 将数据本地内文件“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)

最佳答案

根据 'mysql2' gem documentation ,出于安全原因,您需要将 :local_infile 指定为 true (已解释 here ,并引用 here )。

将其替换为您的 @con 客户端对象:

@con = Mysql2::Client.new(
host: "172.16.10.193",
username: "myusername",
password: "xxx",
database: "reporttdatabase",
local_infile: true
)

关于mysql - 普通旧 Ruby 数据加载到本地文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com