Sha256: 4f773efac4959584958e3e072d963a3cd9928c0ad59966513c98ef097325f6b9
Contents?: true
Size: 1.2 KB
Versions: 19
Compression:
Stored size: 1.2 KB
Contents
# # Monkey patch DBD::ODBC to pass usernames and passwords along # to the DB driver correctly # # Are you running a new version of DBI? begin require 'dbd/ODBC' rescue Exception end # Or an old version? begin require 'DBD/ODBC/ODBC' rescue Exception end class DBI::DBD::ODBC::Driver < DBI::BaseDriver def connect(dbname, user, auth, attr) driver_attrs = dbname.split(';') if driver_attrs.size > 1 # DNS-less connection drv = ::ODBC::Driver.new drv.name = 'Driver1' driver_attrs.each do |param| pv = param.split('=') next if pv.size < 2 drv.attrs[pv[0]] = pv[1] end # # These next two lines are new # drv.attrs['UID'] = user unless user.nil? drv.attrs['PWD'] = auth unless auth.nil? db = ::ODBC::Database.new handle = db.drvconnect(drv) else # DNS given handle = ::ODBC.connect(dbname, user, auth) end return DBI::DBD::ODBC::Database.new(handle, attr) rescue DBI::DBD::ODBC::ODBCErr => err raise DBI::DatabaseError.new(err.message) end end
Version data entries
19 entries across 19 versions & 1 rubygems