在rails中使用mssql
我的环境是sqlserver2000+rails2.3.1+ruby1.8一:需要两个东西:
1.activerecord-odbc-adapter-2.0.gem
在rubyforge.org上下载后用gem安装,直接gem install好像找不到这个2.0版本的。2.0才支持rails2。
2.去http://www.ch-werner.de/rubyodbc上下载连接ODBC的dll文件。
如果是Windows的话,省事了,直接下编译好的i386-msvcrt-ruby-odbc.zip就行。
把解压后的odbc.so和odbc_utf8.so文件复制到ruby安装目录下的X:\ruby\lib\ruby\1.8\i386-mswin32目录
二:测试
1.找个适合的地方建个rails应用
rails test
2.设置database.yml
development:
adapter: odbc
dsn: test
username: test
password: test
3. 创建数据库
ruby script/generate scaffold mybook name:string
rake db:migrate
ruby script/server
打开 http://127.0.0.1:3000/mybooks
显示正常,也可以正常操作数据库。
三:中文
如果不加说明,rails直接用utf-8来操作数据库。全是UTF-8的话,显示中文也是正常的。但sqlserver一般是默认ansi的,也就是说会有乱码的问题。
1.修改database.yml
development:
adapter: odbc
dsn: test
username: test
password: test
encoding: gb2312
2.在rails应用的app里加上个过滤器
class ApplicationController < ActionController::Base
before_filter :set_charset
def set_charset
response.headers["Content-Type"] = "text/html; charset=gb2312"
end
3.再测试,完美支持GB2312。
ps:唉,早知道前些天就多查些资料摆平这个东西了。学了一个星期的PHP,现在发觉似乎以后也没多大可能再用PHP了。 再叹,有了c插件加速的amfphp,速度上远好rubyamf和WebORB for Rails....
页:
[1]