【发布时间】:2017-06-27 06:34:54
【问题描述】:
我希望脚本将结果保存到 .csv 或 .txt 文件中。我的脚本必须在 mssql 数据库中执行选择,并通过电子邮件发送来自该请求的所有字符串。 我的代码:
require 'tiny_tds'
require 'csv'
@db_host = 'myserver.com'
@db_user = 'mylogin'
@db_pass = 'mypassword'
client = TinyTds::Client.new(:host => @db_host, :username => @db_user, :password => @db_pass)
results = client.execute(" SELECT * FROM mydatabase ")
results.each do |row|
p $rows = row.to_a
p h = $rows
CSV.open("data.csv", "wb") {|csv| h.to_a.each {|elem| csv << elem} }
end
我的问题:
生成的 csv 文件仅包含我的请求的第一行。如何将请求的所有字符串写入文件?
【问题讨论】:
-
您需要将 results.each 循环放入 CSV.open 块中
标签: ruby-on-rails arrays sql-server ruby csv