Connecting to an MSSQL database from a Ruby on Rails application running on Ubuntu

后端 未结 7 1330
名媛妹妹
名媛妹妹 2021-01-01 00:34

I have a situation where I\'m trying to build a web app which takes a total count of records in a table and outputs it to the screen. Sounds simple right...?

The mai

相关标签:
7条回答
  • 2021-01-01 00:49

    Take a look at an example I've made on how to use the mentioned actionrecord-sqlserver adaptor here

    You can use mappings with rails models and use the ActiveModel helpers.

    0 讨论(0)
  • 2021-01-01 00:54

    This Stackoverflow question might help: Rails & MSSQL 2008 - Will We Hit Barriers?

    Basically you will need to install a MSSQL database adapter (rather than MySQL or Postgres that most tutorials step you through), and configure your database.yml appropriately:

    http://rorblog.techcfl.com/2008/04/14/ruby-on-rails-connection-to-sql-server/

    http://the-banana-peel.saltybanana.com/2008/06/connecto-to-microsoft-sql-server-from.html

    http://wiki.rubyonrails.org/database-support/ms-sql (Although the rails wiki looks down at time of writing)

    P.S. I am assuming the MSSQL server will be running on a separate Microsoft server someplace.

    0 讨论(0)
  • 2021-01-01 00:55

    I'll have a stab, and say that you'll probably need to connect to a mssql DB via ODBC. There appears to be a few gems that do this. hopefully one of them will have docs to put you on the right track.

    ODBC rubygems

    0 讨论(0)
  • 2021-01-01 00:56

    I used Sequel with DBI and ODBC and it seems to be working.

    require "dbi"
    require "sequel"
    Sequel.datetime_class = DateTime
    p "testing dbi"
    # to setup a DSN, Start->Settings->CtlPanel->AdminTools->DataSources
    conn = DBI.connect('DBI:ODBC:dsn')
    p conn.connected?
    p conn.select_one("SELECT @@VERSION")
    conn.disconnect
    p "testing sequel"
    db = Sequel.odbc('(odbc_dsn_goes_here)', :db_type=>'mssql')
    db.fetch("SELECT TOP 2 * FROM TABLE") do |row|
        p row
    end
    
    0 讨论(0)
  • 2021-01-01 01:00

    A gem called active-record-sql-adapter lets you connect to an SQL Server db via ActiveRecord. You can do something like

    class RemodeDB
      establish_connection(:remote_db) #<=
      self.abstract_class = true # to avoid Rails' no associated model exception
    end
    

    then have your classes inherit the connection like so

    class Product < RemoteDB
       self.table_name ... 
    end
    

    Note that in order to connect to earlier versions of SQL Server (2005 in your case), you would need an earlier version of the gem which may not be compatible with your current version of Rails.

    0 讨论(0)
  • 2021-01-01 01:11

    This gem is great and easy to set up: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter

    0 讨论(0)
提交回复
热议问题