2010-08-10 24 views
2

ISQL運行良好:爲什麼我使用SQL Server ActiveRecord適配器獲得分段錯誤?

kobey:/etc# isql -v censored censored censored 
+---------------------------------------+ 
| Connected!       | 
|          | 
| sql-statement       | 
| help [tablename]      | 
| quit         | 
|          | 
+---------------------------------------+ 
SQL> select count(*) from Members; 
+------------+ 
|   | 
+------------+ 
| 1531  | 
+------------+ 
SQLRowCount returns 1 
1 rows fetched 
SQL> quit 

我與Ruby的ODBC驅動程序進行了測試:

irb(main):002:0> ODBC.connect('ANAME', 'censored', 'censored') 
=> #<ODBC::Database:0x7fc95d428c80> 

這裏是ActiveRecord的我的連接字符串:

Legacy::LegacyRecord.establish_connection({ :dsn => 'ANAME', :password => 'censored', :username => 'censored', :mode => 'odbc', :adapter => 'sqlserver', :encoding => 'utf8'}) 

以下是錯誤我收到:

>> Legacy::Member.first 
/usr/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.3.8/lib/active_record/connection_adapters/sqlserver_adapter.rb:970: [BUG] Segmentation fault 
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] 

Aborted 

這裏有一切涉及的版本:

  • 的Debian 5.0.4
  • 的ActiveRecord - SQLSERVER適配器(2.3.8)
  • freetds的常見0.82-4
  • libct4 0.82-4
  • libsybdb5 0.82-4
  • freetds的-dev的0.82-4
  • libiodbc2 3.52.6-2
  • libodbc-ruby1.8的0.9995-1
  • libdbi-ruby1.8的0.2.2-1
  • libdbd-ODBC-ruby1.8的0.2.2-1
  • libdbd-ODBC旁註0.2.2-1
  • odbcinst1debian1 2.2.11-16
  • 的unixODBC 2.2.11-16
  • libodbcinstq1c2 2.2.11-16
  • tdsodbc 0.82-4
  • 的unixODBC-dev的2.2.11-16

CONFIGS:

ODBCINST.INI:

[ODBC Drivers] 
FreeTDS = Installed 

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

ODBC.INI:

[ODBC] 
Trace = No 

[ODBC Data Sources] 
LATA = FreeTDS 

[LATA] 
Driver  = /usr/lib/odbc/libtdsodbc.so 
Description = MS SQL Server connection to ANAME legacy database 
ServerName = ANAME 
Database = aname 

freetds.conf:

[global] 

[ANAME] 
    host = 10.0.0.5 
    tds version = 7.0 
    client charset = UTF-8 
    text size = 262144 
    port = 1433 

是否有人有任何想法可能導致這個?

+0

我在Ubuntu上,恰好有同樣的事情在ActiveRecord的3.0.6。 – tadman 2011-04-13 21:01:03

回答

0

首先,你不再需要DBD/DBI與2.3.8。適配器。 二:你有在你的表一個NTEXT或nvarchar(最大)字段的問題?

+0

ntext或nvarchar(max)字段有什麼問題? – 2010-08-24 15:10:24

相關問題