| Class | Sequel::DBI::Database |
| In: |
lib/sequel/adapters/dbi.rb
|
| Parent: | Sequel::Database |
| DBI_ADAPTERS | = | { :ado => "ADO", :db2 => "DB2", :frontbase => "FrontBase", :interbase => "InterBase", :msql => "Msql", :mysql => "Mysql", :odbc => "ODBC", :oracle => "Oracle", :pg => "pg", :proxy => "Proxy", :sqlite => "SQLite", :sqlrelay => "SQLRelay" |
# File lib/sequel/adapters/dbi.rb, line 23
23: def initialize(opts)
24: super(opts)
25: case opts[:db_type]
26: when 'mssql'
27: Sequel.require 'adapters/shared/mssql'
28: extend Sequel::MSSQL::DatabaseMethods
29: end
30: end
# File lib/sequel/adapters/dbi.rb, line 51
51: def connect(server)
52: opts = server_opts(server)
53: dbname = opts[:database]
54: if dbname !~ /^DBI:/ then
55: dbname = "DBI:#{dbname}"
56: [:host, :port].each{|sym| dbname += ";#{sym}=#{opts[sym]}" unless blank_object?(opts[sym])}
57: end
58: ::DBI.connect(dbname, opts[:user], opts[:password])
59: end
# File lib/sequel/adapters/dbi.rb, line 61
61: def dataset(opts = nil)
62: DBI::Dataset.new(self, opts)
63: end
# File lib/sequel/adapters/dbi.rb, line 74
74: def do(sql, opts={})
75: log_info(sql)
76: synchronize(opts[:server]){|conn| conn.do(sql)}
77: end