Now using: - jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (Java HotSpot(TM) Client VM 1.6.0_04) [x86-java] - sqljdbc4.jar (MS SQL Server JDBC Driver 3.0) http://www.microsoft.com/downloads/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707&displaylang=en
This works a treat (also a lot faster than ADO) Thanks for your help Jeremy. Dave Oram On Apr 23, 3:00 pm, Jeremy Evans <[email protected]> wrote: > On Apr 22, 7:52 pm, djo <[email protected]> wrote: > > > > > > > Am running ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32], on > > win XP talking to MSSQL 2008 (10.0.2531). > > The connection is via ADO ie: > > > @srcdb = > > Sequel.connect(:adapter=>'ado', :host=>options[:host], > > :database=>options[:srcdb], :user=>options[:user], > > :password=>options[:password]) > > @destdb = > > Sequel.connect(:adapter=>'ado', :host=>options[:host], > > :database=>options[:dstdb], :user=>options[:user], > > :password=>options[:password]) > > > My script is reading data from @srcdb & writing to @destdb. > > When the volume of data being migrated increases, I get this error: > > > I, [2010-04-23T14:47:53.711986 #5860] INFO -- : SELECT UserGUID > > FROM frst.dbo.portalUsers > > WHERE Email = '[email protected]' > > C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/sequel/adapters/ > > ado.rb:47:in `method_missing': WIN32OLERuntimeError: Execute (S > > equel::DatabaseError) > > OLE error code:80004005 in Microsoft OLE DB Provider for ODBC > > Drivers > > [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not > > exist or access denied. > > HRESULT error code:0x80020009 > > Exception occurred. > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/adapters/ado.rb:47:in `execute' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/connection_pool/single.rb:21:in `hold' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/database.rb:535:in `synchronize' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/adapters/ado.rb:45:in `execute' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/actions.rb:100:in `execute' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/adapters/ado.rb:79:in `fetch_rows' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/adapters/shared/mssql.rb:225:in `fetch_rows' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/actions.rb:61:in `each' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/convenience.rb:232:in `single_record' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/convenience.rb:58:in `first' > > from ./ProgressReport/mappings/InvestmentProcessLookups.rb: > > 20:in `lookup_systemuser_guid' > > from ./ProgressReport/mappings/ProjectMapping.rb:52:in > > `map_from_obiproposals_to_projectstatushistory' > > from ./lib/migrate.rb:134:in `send' > > from ./lib/migrate.rb:134:in `run' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/actions.rb:15:in `each' > > from C:/bin/Ruby/lib/ruby/gems/1.8/gems/sequel-3.10.0/lib/ > > sequel/dataset/actions.rb:15:in `all' > > from ./lib/migrate.rb:132:in `run' > > from ./lib/migrate.rb:127:in `each' > > from ./lib/migrate.rb:127:in `run' > > from ./lib/migrate.rb:124:in `each' > > from ./lib/migrate.rb:124:in `run' > > from migrate.rb:12 > > > The SQL being generated is fine - when I run it manually it works no > > problem. > > I've tried placing my insert statements inside a @destdb.transaction > > block, but to no avail. > > > However when I split the migration in 2 bits it works, which almost > > feels like I'm hitting a resource limit somewhere? > > > If the ADO connector is problematic, can anyone suggest the most > > reliable JDBC driver to use against MSSQL 2008? > > > Thanks in advance: > > Dave Oram > > The ADO adapter does not support transactions as the underlying driver > does not provide a consistent connection object. You should not use > the ADO adapter for anything that requires transactions, and I would > recommend against using it in production unless your workload is read > only. > > The JDBC or ODBC adapters both do a decent job supporting MSSQL, with > the JDBC adapter providing the best support for it. Obviously, to use > the JDBC adapter, you must be running JRuby. > > Jeremy > > -- > You received this message because you are subscribed to the Google Groups > "sequel-talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group > athttp://groups.google.com/group/sequel-talk?hl=en. -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en.
