| Class | ActiveRecord::ConnectionAdapters::SQLServerAdapter |
| In: |
lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb
|
| Parent: | AbstractAdapter |
Adds new functionality to ActiveRecord SQLServerAdapter.
Inserts an INTO table_name clause to the sql_query.
# File lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb, line 11
11: def add_select_into_table(new_table_name, sql_query)
12: sql_query.sub(/FROM/i, "INTO #{new_table_name} FROM")
13: end
Copy the specified table.
# File lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb, line 16
16: def copy_table(old_table_name, new_table_name)
17: execute add_select_into_table(new_table_name, "SELECT * FROM #{old_table_name}")
18: end
# File lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb, line 6 6: def support_select_into_table? 7: true 8: end
Call bulk_load, as that method wraps this method.
Bulk load the data in the specified file. This implementation relies on bcp being in your PATH.
Options:
# File lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb, line 32
32: def do_bulk_load(file, table_name, options={})
33: env_name = options[:env] || RAILS_ENV
34: config = ActiveRecord::Base.configurations[env_name]
35: puts "Loading table \"#{table_name}\" from file \"#{filename}\""
36: cmd = "bcp \"#{config['database']}.dbo.#{table_name}\" in " +
37: "\"#{filename}\" -S \"#{config['host']}\" -c " +
38: "-t \"#{options[:delimited_by]}\" -b10000 -a8192 -q -E -U \"#{config['username']}\" " +
39: "-P \"#{config['password']}\" -e \"#{filename}.in.errors\""
40: `#{cmd}`
41: end