SQL Server 2005 Expressに接続してみるテスト(その3)
rubyからSQL Server 2005 Express接続 キター━━━━(゚∀゚)━━━━ッ!!
require 'win32ole' def startADO database cn = WIN32OLE.new("ADODB.Connection") connstr = "Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=#{database};Data Source=(local)" cn.Open connstr begin yield cn ensure cn.Close end end module Recordset def [] field self.Fields.Item(field).Value end def []= field,value self.Fields.Item(field).Value = value end def each_record if self.EOF or self.BOF return end self.MoveFirst until self.EOF or self.BOF yield self self.MoveNext end end end startADO("log4net") do |cn| sql = "SELECT * FROM tblLogs;" rs = cn.Execute(sql) rs.extend Recordset fields = ["Date","Thread","Level","Logger", "Message"] rs.each_record do |rs| values = fields.map do |field| rs[field] end puts values.join(",") end end
$ ruby -v ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] $ ruby ole.rb 2008/02/28 20:03:45,1,INFO,log4net_write.Program,Program Start 2008/02/28 20:03:45,1,DEBUG,log4net_write.Program,log4net_write test 2008/02/28 20:03:45,1,FATAL,log4net_write.Program,Program Stop