我对数据库和Rails有一点疑问。
VirtualBox - > Ubuntu的 DB - > MSSQL 2008
所以我能够通过FreeTDs和TinyTD将我的Ubuntu连接到MSSQL并查询值。然后我在database.yml文件中实现了它。问题是,当我从应用程序内部进行相同的调用时,我得到-1(Fixnum),而如果我在测试连接时查询它,我会得到正确的结果。
App - > 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。可以省略)
答案 0 :(得分:0)
这对我有用
result = ActiveRecord::Base.connection.select_all("SELECT * FROM table")
是的
http://postal-code.com/binarycode/2011/05/16/raw-sql-queries-and-rails/