我正在尝试将Rails应用程序连接到Microsoft 2008中的遗留数据库。我已经查看过不同的教程、页面、帮助页和问题页,但仍然无法使其工作。
我在用:
我还安装了:
我设法用tsql、sqsh和isql连接到数据库。但不能通过irb或rails连接。每当我尝试时,我都会得到以下错误:
DBI::DatabaseError: **INTERN (0) [RubyODBC]Cannot allocate SQLHENV**
from /var/lib/gems/1.8/gems/dbd-odbc-0.2.5/lib/dbd/odbc/driver.rb:36:in `connect'
from /usr/lib/ruby/1.8/dbi/handles/driver.rb:33:in `connect'
from /usr/lib/ruby/1.8/dbi.rb:142:in `connect'
from (irb):4如果我使用odbc适配器或sql适配器并不重要,因为它总是在dbi驱动程序中失败。对什么会出错有什么想法吗?
我已经正确定义了odbc.ini、odbcinst.ini和freetds.conf文件。它们与所有其他要连接的命令(isql、tsql、sqsh)一起工作。
请帮帮我,或者给我指个可能对我有帮助的地方!
PS:我已经跟随了以下几页,但没有取得多大的成功(除其他外):
发布于 2010-01-20 18:34:26
此页似乎认为问题可能与无法找到共享库有关。通过检查ldconfig -v的输出并确保包含libodbc、libodbcinst和libtdsodbc的文件夹包含在库搜索路径中,您应该确保系统能够找到它可能需要的任何库。如果您不知道如何做到这一点,那么此链接可能会有所帮助。
如果这失败,那么使用下面的行手动构建gem
ruby extconf.rb --with-odbc-dir=/folder/to/unixodbc --disable-dlopen我不能发誓这是正确的答案,但也许会有帮助。我在Centos上使用rails非常愉快地使用了freetds和SQL Server
发布于 2010-01-20 12:40:17
如果您可以切换到JRuby ( jruby.org ),您可以尝试在MS驱动程序中使用活动记录- JDBC。我使用它们从Ruby连接到2005数据库,它工作起来很有魅力。
希望能帮上忙!
https://stackoverflow.com/questions/2100986
复制相似问题