这是一个奇怪的情况,如果我打开一个命令提示符并启动mongrel服务器,那么一切都在游泳。如果我定义了User-DSN,ActiveRecord会使用ODBC与MSSQL服务器很好地对话。但是如果删除User-DSN并设置一个相同的System-DSN,那么odbc炸弹:
[Microsoft] [ODBC驱动程序管理器]数据 找不到源名称,也没有默认值 司机指定
我在Windows 2003 Server 64bit上运行Rails,使用DBI 0.4.1,DBD-ODBC 0.2.4,Rails 2.3.4。我已经尝试使用ODBC管理器32位,并仔细检查连接是否在ODBC管理面板中工作。有没有人有任何想法?
答案 0 :(得分:1)
令人沮丧!事实证明,我不得不使用regedit访问HKLM / Software / ODBC / ODBC.INI子键(DSN)并将那里的SQLServer驱动程序更改为c:\ windows \ system32 \ SQLSRV32.dll。尽管ODBC管理面板已经指定了它并且它的测试运行正常,但是在我调整注册表之前它没有工作。太奇怪..
希望将来帮助其他人。
答案 1 :(得分:0)
对我来说问题是我将ODBC连接输入到64位版本的ODBC数据源管理器。当我去
C:\的Windows \ Syswow64资料\ odbcad32.exe的
,并在这里重新输入了驱动程序(其他人不在那里!),之后一切正常。