我正在尝试从我们的现场计费服务器访问一些数据,以填充到我正在部署的 Rails 应用程序中。我已经进行了一些挖掘,并认为 Tiny TDS 和 rake 任务是最好的方法,但我似乎有点卡住了。下面显示的代码只是一个示例,并没有完成!我不断收到配置文件中未找到的服务器名称错误。
任务:import_customers 做
RAILS_HOME = File.expand_path(File.join(File.dirname(__FILE__),"../.."))
RAILS_CONFIG = "#{RAILS_HOME}/config"
require "#{RAILS_CONFIG}/environment"
require 'tiny_tds'
client = TinyTds::Client.new(:username => 'user', :password => 'pass', :host => 'SQLSRVR')
result = client.execute("select sitedetails.siteid, company.id as companyid, sitedetails.shortname, company.name,sitedetails.sitename as [Site Name] from company inner join sitedetails on company.id=sitedetails.id left outer join solutionscustinfo s on sitedetails.siteid=s.siteid left outer join paymentconditions a on s.paymentconditions_id=a.id left outer join company agent on company.agent_id=agent.id left outer join sitecontacts billingcontact on billingcontact.contactid=s.billingcontact_id left outer join package p on p.id=package left outer join tariffnames v on v.tariffcode=isnull(s.lcr_tariff,p.lcr_tariff) left outer join tariffnames d on d.tariffcode=isnull(s.data_tariff,p.data_tariff) left outer join tariffnames m on m.tariffcode=isnull(s.mob_tariff,p.mob_tariff) left outer join (select invoiceaddress from sitedetails group by invoiceaddress) ba on ba.invoiceaddress=sitedetails.siteid left outer join discount on discount.id=isnull(s.discount,p.discount) left outer join billrun on billrun.id=s.bill_run left outer join report_profile on report_profile.id=s.report_profile left outer join account_manager on account_manager.id=company.acctmgr_id where company.is_customer<>0 order by company.name,sitedetails.shortname")
result.each do |row|
puts row
name = row['name']
sitename = row['Site Name']
puts sitename
@company = Company.all
end
结尾