데이터베이스와 레일스에 관해서 조금 질문이 있습니다.레일즈에 대한 데이터베이스 상호 작용
버추얼 박스 -> 우분투 DB -> MSSQL 2008
그래서 내가 FreeTDS를 AND TinyTDs를 통해 MSSQL과 값을 쿼리 내 우분투를 연결 할 수 있었다. 그런 다음 database.yml 파일에 구현했습니다. 문제는 응용 프로그램 내부에서 동일한 호출을 할 때 -1 (Fixnum)을 얻는 반면 연결을 테스트 할 때 쿼리하면 올바른 결과를 얻을 수 있다는 것입니다.응용 프로그램 -> database.yml을 -X> ODBC.INI -> ODBCINST.INI -> MSSQL
나는 여기서 X는 내 프로그램이 실패하면, 그건 생각합니다. 응용 프로그램 내부에서 제대로 연결을 확인하고 데이터베이스 이름을 잘못 입력해도 오류가 발생하므로 인식하고 있습니다. 그래서 나는 진정으로 X 단계가 문제라고 믿습니다.
부품을 1 초 안에 게시합니다.
APP
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는 생략 할 수있다)
에 메신저와 메신저 점점 Fixnum이라는 너무 작동 :-( – Muflix
그래, 난 그냥 윈도우에서 VM웨어의 그것을 밖으로 시도하고 아직도 -1을 반환 – Muflix