Sha256: c9f1f8f9ea82f11a71d7381786f0ee8bd6c5d6c6a9cb9c984f2dfd32cd38431b

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

# Source code for the SQLServerAdapter extensions.
module ActiveRecord #:nodoc:
  module ConnectionAdapters #:nodoc:
    # Adds new functionality to ActiveRecord SQLServerAdapter.
    class SQLServerAdapter < AbstractAdapter
      protected
      # 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:
      # * <tt>:ignore</tt> -- Ignore the specified number of lines from the source file
      # * <tt>:columns</tt> -- Array of column names defining the source file column order
      # * <tt>:fields</tt> -- Hash of options for fields:
      # * <tt>:delimited_by</tt> -- The field delimiter
      # * <tt>:enclosed_by</tt> -- The field enclosure
      def do_bulk_load(file, table_name, options={})
        env_name = attrs[:env] || RAILS_ENV
        config = ActiveRecord::Base.configurations[env_name]
          puts "Loading table \"#{table_name}\" from file \"#{filename}\""
          cmd = "bcp \"#{config['database']}.dbo.#{table_name}\" in " +
                "\"#{filename}\" -S \"#{config['host']}\" -c " +
                "-t \"#{options[:delimited_by]}\" -b10000 -a8192 -q -E -U \"#{config['username']}\" " +
                "-P \"#{config['password']}\" -e \"#{filename}.in.errors\""
          `#{cmd}`
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adapter_extensions-0.2.0 lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb
adapter_extensions-0.3.0 lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb