幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3064|回复: 1

[其他] 在rails中使用mssql

[复制链接]

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2009-3-16 15:57:31 | 显示全部楼层 |阅读模式
我的环境是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了。
え~え~お!!!
回复

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2009-3-16 16:58:06 | 显示全部楼层
再叹,有了c插件加速的amfphp,速度上远好rubyamf和WebORB for Rails....
え~え~お!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-17 06:11 , Processed in 0.017848 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表