Class: ActiveRecord::Base
Class Method Summary collapse
- .orig_sqlserver_connection ⇒ Object
-
.sqlserver_connection(config) ⇒ Object
puts “redeffing sqlserver_connection”.
Class Method Details
.orig_sqlserver_connection ⇒ Object
6 |
# File 'lib/dataload/sqlserver_ext.rb', line 6 alias_method :orig_sqlserver_connection, :sqlserver_connection |
.sqlserver_connection(config) ⇒ Object
puts “redeffing sqlserver_connection”
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dataload/sqlserver_ext.rb', line 8 def sqlserver_connection(config) #:nodoc: #puts "in redeffed sqlserver connection" require_library_or_gem 'dbi' unless self.class.const_defined?(:DBI) config = config.symbolize_keys mode = config[:mode] ? config[:mode].to_s.upcase : 'ADO' username = config[:username] ? config[:username].to_s : 'sa' password = config[:password] ? config[:password].to_s : '' autocommit = config.key?(:autocommit) ? config[:autocommit] : true if mode == "ODBC" raise ArgumentError, "Missing DSN. Argument ':dsn' must be set in order for this adapter to work." unless config.has_key?(:dsn) dsn = config[:dsn] driver_url = "DBI:ODBC:#{dsn}" else raise ArgumentError, "Missing Database. Argument ':database' must be set in order for this adapter to work." unless config.has_key?(:database) database = config[:database] host = config[:host] ? config[:host].to_s : 'localhost' if username =~ /PCI/ driver_url = "DBI:ADO:Provider=SQLOLEDB;Data Source=#{host};Initial Catalog=#{database};Integrated Security=SSPI;" else driver_url = "DBI:ADO:Provider=SQLOLEDB;Data Source=#{host};Initial Catalog=#{database};User ID=#{username};Password=#{password};" end end #puts "DriverURL: #{driver_url}" conn = DBI.connect(driver_url, username, password) conn["AutoCommit"] = autocommit ConnectionAdapters::SQLServerAdapter.new(conn, logger, [driver_url, username, password]) end |