Взаимодействие с базой данных для Rails

У меня есть маленький вопрос, касающийся баз данных и Rails.

VirtualBox -> БД Ubuntu -> MSSQL 2008

Так что я смог подключить свою Ubuntu к MSSQL через FreeTD и TinyTD и запросить значения. Затем я реализовал это в файле database.yml. Проблема в том, что когда я делаю один и тот же вызов изнутри приложения, я получаю -1 (Fixnum), а если я запрашиваю его при проверке соединения, я получаю правильные результаты.

Приложение -> database.yml -X> odbc.ini -> odbcinst.ini -> MSSQL

Я думаю, что там, где X, моя программа не работает. Внутри приложения оно правильно проверяет соединение, даже выдает ошибки, если я ввел неправильное имя базы данных, поэтому я знаю, что оно распознает его. Так что я искренне верю, что X шаг это проблема.

Разместим запчасти через секунду.

ПРИЛОЖЕНИЕ

class Order < ActiveRecord::Base
   #self.table_name = "orders"
   def self.try_t
      establish_connection :development
      Order.connection.execute("select count(*) from BBOrders")
   end
end

database.yml

development:
  adapter: sqlserver
  dsn: K_Connection
  #dsn: mydsn
  mode: odbc
  #mode: dblib
  encoding: utf8
  database: KTrade
  host: xxx.xxx.xxx.xxx
  username: tr
  password: tr2

odbc.ini

[K_connection]
Driver=FreeTDS
Description=ODBC connection via FreeTDS
Trace=Yes
Server=xxx.xxxx.xxx.xxx
Database=KTrade
TDS_Version=7.0
Port=1433

odbcinst.ini

[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsS.so
CPTimeout=
CPReuse=
FileUsage=2
UsageCount=2

Название базы данныхMSSQL 2008- KTrade. Таблица для доступа - dbo.BBOrders (dbo. Может быть опущено)

1 ответ

Это работает для меня

result = ActiveRecord::Base.connection.select_all("SELECT * FROM table")

спасибо http://postal-code.com/binarycode/2011/05/16/raw-sql-queries-and-rails/

Другие вопросы по тегам