From: Kyle Date: 2008-07-12T02:20:30+09:00 Subject: Re: MS SQL 2005 Express and MySQL on Windows OK, I missed something very basic and essential. It's now working. I needed to copy Mysql.rb from the DBI package to a new C:\Program Files \Ruby\lib\ruby\site_ruby\1.8\DBD\Mysql folder. I incorrectly assumed that the DBI package that came with the 1-click installer would include this DBD. Since I wasn't able to build DBI per the given instructions, I didn't look into it further. My mistake! -Kyle On Jul 11, 11:10 am, Kyle wrote: > False hope.  If I fire up irb, require 'dbi', and then try to load a > mysql connection, I get the same error: > > > mysql = DBI.connect('dbi:Mysql:.....') > > DBI::InterfaceError: Unable to load driver 'Mysql' > ... > > If I "require 'mysql'", I get "true".  If I then try to load a mysql > connection, I get this interesting error: > > > require 'mysql' > > true > > > mysql = DBI.connect('dbi:Mysql:.....') > > DBI::InterfaceError: Could not load driver (uninitialized constant > Mysql:Driver) >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:344:in > 'load_driver' >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:227:in > '_get_full_driver' >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:213:in > 'connect' > > Any other thoughts?  I'm sorry to bombard the list like this... > > -Kyle > > On Jul 11, 10:55 am, Kyle wrote: > > > Update: the 64/32 threw me a bit.  I installed the 32-bit MySQL, and > > at least now, I'm getting "require 'mysql'" to return "true". > > > Sorry about that.  I'll see how it goes from here and let you know. > > > -Kyle > > > On Jul 11, 10:48 am, Kyle wrote: > > > > Thank you for your tips.  I'd rather not install Rails if possible - > > > I'd have to re-write my scripts to use ActiveRecord, and from what I > > > hear, it's not necessarily easy to get Rails to talk to > > > MSSQL2005Express anyway...but I'll certainly give it a shot if nothing > > > else works! > > > > I installed the MySQL Essentials and am getting the following errors: > > > > > require 'mysql' > > > > LoadError: 193: %1 is not a valid Win32 application.   = C:/Program > > > Files/Ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext/mysql.so > > >         from C:/Program Files/Ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ > > > ext/mysql.so > > >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/ > > > custom_requirement.rb:32:in 'require' > > > > > mysql = DBI.connect('dbi:Mysql:.....') > > > > DBI::InterfaceError: Unable to load driver 'Mysql' > > >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:329:in > > > 'load_driver' > > >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:227:in > > > '_get_full_driver' > > >         from C:/Program Files/Ruby/lib/ruby/site_ruby/1.8/dbi.rb:213:in > > > 'connect' > > > > I hate to even think about this, but could this be an issue with Win > > > XP x64?  That's what this machine is running...  I also had problems > > > on a Win32 machine, though, with MySQL already installed.  I double- > > > checked that the MySQL directory was in my PATH, too. > > > > Any other ideas?  I hadn't anticipated it being so difficult to get > > > Ruby to talk to a MySQL database on Windows. > > > > -Kyle > > > > On Jul 11, 8:18 am, hemant wrote: > > > > > On Fri, Jul 11, 2008 at 8:20 AM, Kyle wrote: > > > > > The short question: Has anybody successfully connected to both MS SQL > > > > > 2005 Express and MySQL databases using Ruby on Windows XP?  How? > > > > > > The long description: My company's point-of-sale system uses MS SQL. > > > > > A recent upgrade to the software required an upgrade of the database. > > > > > I was using ruby on ubuntu with DBI to synchronize the POS (MSSQL > > > > > 2000) and site (MySQL) databases.  When I upgraded the POS database to > > > > > 2005 Express, using ODBC didn't work anymore - that is, until I got a > > > > > driver from EasySoft that will cost 499 pounds if I want to use it for > > > > > more than 14 days. > > > > > > My next thought was, "Oh, I'll put ruby on Windows and use MS's ODBC > > > > > driver to connect."  That worked fine, but now I'm having troubles > > > > > getting to a MySQL database using DBI.  I can't seem to load the > > > > > module.  I get errors about LIBMYSQL.DLL not existing, and if I > > > > > install the mysql gem, I get other errors (sorry - I'm not by that > > > > > machine now). > > > > > > I'm using the Windows 1-click installer (186-26).  When I try to build > > > > > DBI, I get compile errors. I'm also unable to build the mysql-ruby (or > > > > > ruby-mysql) package that the DBI resources seem to point to. > > > > > Essentially, it looks like I'm having driver errors...or something > > > > > like that.  I'll try to give more info tomorrow. > > > > > > Does anybody have suggestions?  I'd really appreciate any help, and > > > > > I'll be happy to respond with more info. > > > > > Your mysql problems has nothing to do with your sql server. You don't > > > > have client libraries for mysql i believe. > > > > > Download "mysql essentials" from following page your mysql driver > > > > issues should be gone: > > > > >http://dev.mysql.com/downloads/mysql/5.0.html#win32 > >