<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hinnerup Net &#187; Ruby</title>
	<atom:link href="http://www.hinnerup.net/permanent/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hinnerup.net</link>
	<description></description>
	<lastBuildDate>Thu, 19 Jan 2012 12:35:57 +0000</lastBuildDate>
	<language>da</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>MS SQL tilgang fra Ruby og Watir</title>
		<link>http://www.hinnerup.net/permanent/2008/07/11/mssql-from-ruby-and-watir/</link>
		<comments>http://www.hinnerup.net/permanent/2008/07/11/mssql-from-ruby-and-watir/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 10:22:47 +0000</pubDate>
		<dc:creator>Michael Schøler</dc:creator>
				<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Unit testing]]></category>
		<category><![CDATA[Watir]]></category>

		<guid isPermaLink="false">http://www.hinnerup.net/?p=36</guid>
		<description><![CDATA[Watir er et framework til automatiserede unit tests af webapplikationer ved brug af et automatiseringslag rettet imod Internet Explorer. Der er tiltag igang for at kunne benytte Watir i Firefox og Safari browserne. I forbindelse med implementering af adskillige unit tests for en kunde opstod behovet for at kunne checke både datamodel og web-snitfalde imod [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wtr.rubyforge.org/">Watir</a> er et framework til automatiserede unit tests af webapplikationer ved brug af et automatiseringslag rettet imod Internet Explorer. Der er tiltag igang for at kunne <a href="http://wtr.rubyforge.org/platforms.html">benytte Watir i Firefox og Safari</a> browserne.</p>
<p>I forbindelse med implementering af adskillige unit tests for en kunde opstod behovet for at kunne checke både datamodel og web-snitfalde imod hinanden. Dataene for de web applikationer der løbende skal kunne testes er placeret i en større SAN baseret MS SQL database.</p>
<p><a href="http://www.ruby-lang.org">Ruby</a> har et helt fortrinligt database API, kaldet <a href="http://ruby-dbi.rubyforge.org/">dbi</a>, som kan anvendes til formålet. Man skal blot installere en <a href="http://www.w3schools.com/ado/default.asp">ADO</a> wrapper først, da denne ikke som standard medfølger seneste Ruby installationspakke (v186-26). Dette gøres ved først at hente denne dbi pakke indeholdende alle wrappere:<br />
<a href="http://rubyforge.org/frs/download.php/655/ruby-dbi-all-0.0.23.tar.gz">http://rubyforge.org/frs/download.php/655/ruby-dbi-all-0.0.23.tar.gz</a>.</p>
<p>Udpak herfra filen &#8220;ruby-dpi-all/lib/dbd_ado/ADO.rb&#8221; og kopier denne fil til en nyoprettet &#8220;ADO&#8221; mappe i din Ruby installationssti, således den endelige placering for wrapper filen bliver &#8220;/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb&#8221;.</p>
<p>Det er sådanset alt der skal til. Du er nu istand til at tilgå MS SQL databaser fra Ruby, og dermed også fra Watir.</p>
<p>Eksempel:</p>
<pre>
require 'test/unit'
require 'watir'
require "dbi"

ConnectionString =
  "Provider=SQLOLEDB;" +
  "Data Source=<i style="color:blue">DBSOURCE</i>;" +
  "Initial Catalog=<i style="color:blue">CATALOG</i>;" +
  "User ID=<i style="color:blue">USERNAME</i>;" +
  "Password=<i style="color:blue">PASSWORD</i>;" +
  "Application name=RubyWatir;" +
  "Connection Timeout=0"

class MyTestClass &lt; Test::Unit::TestCase
  ...
  def test_database
    ...
    db = DBI.connect("DBI:ADO:" + ConnectionString)
    sql = "select product, price, description from t_products"
    sth = db.prepare(sql)
    sth.execute
    row = sth.fetch
    puts row
    product = row[0]
    price = row[1]
    description = row[2]
    sth.finish
    db.disconnect
    ...
   end
   ...
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hinnerup.net/permanent/2008/07/11/mssql-from-ruby-and-watir/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

