1
내 레일 액션 중 하나에서 MySql OUTFILE을 사용하여 테이블에서 csv 파일을 만들고 싶습니다.MySql OUTFILE이 레일에서 작동하지 않습니다. 3
path = "#{Rails.root}/public/outfile.csv"
query_string = "SELECT * INTO OUTFILE '#{path}' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM temp_csv_186;"
ActiveRecord::Base.connection.execute(query_string)
하지만 항상 오류가 표시됩니다.
Mysql2::Error: Can't create/write to file '/home/user/Projects/Application/public/outfile.csv' (Errcode: 13): SELECT * INTO OUTFILE '/home/user/Projects/Application/public/outfile.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' FROM temp_csv_186;
예. 왜냐하면 나는 루트 사용자로 시도했기 때문이다. –
MySQL 사용자에게 FILE perm을 (CREATE USER MyDBconnecter ... FILE perm으로) 부여했는지 또는 Rails와 별도로 파일을 만들 수 있는지 확인 했습니까? –
@SabyasachiGhoh 내가 공개적으로 파일을 만들 수 없다고 생각하면 파일 위치/이름을 "/tmp/filename.csv"로 지정해야합니다. – Jyothu