`

SQLServer on Rails

阅读更多
安装库

安装unixODBC

sudo apt-get install unixodbc unixodbc-dev


安装sqlserver驱动freetds

cd ~
wget  http://cloud.github.com/downloads/saberma/saberma.github.com/freetds-stable.tgz
tar -vxf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --sysconfdir=/etc --with-tdsver=8.0
sudo make
sudo make install


附配置文件内容

#将config/etc下的文件拷贝至/etc
cd ~/Documents/zbs
sudo cp config/etc/* /etc


配置文件中的内容不需要修改,实际生产环境中才修改/etc/freetds.conf的SQL Server服务器地址
注意:不要在配置文件中有多余的空格,否则就算配置正确,unixODBC也会报以下奇怪的错误信息

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect


以下为config/etc下的文件内容

/etc/odbc.ini

[SQL2000DSN]
Driver=FreeTDS
Description=ODBC Connection via FreeTDS                                                                                                                      
Trace=No
Servername=SQL2000HOST


/etc/odbcinst.ini

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


/etc/freetds.conf

[SQL2000HOST]
  host = 192.168.1.13
  port = 1433
  tds version = 8.0 
  client charset = UTF-8

测试

#测试是否连接成功,tsql命令在freetds子目录bin下
cd /usr/local/freetds
TDSVER=8.0 bin/tsql -H 192.168.1.13 -U msg -p 1433
#提示你输入密码时,输入msg
#提示1 >,表示正常连接至数据库了,输入exit关闭连接
exit

#测试使用配置文件的方式连接
bin/tsql -S SQL2000HOST -U msg -p 1433
#查看freetds.conf所在位置
bin/tsql -C

isql -v SQL2000DSN msg msg
#unixODBC调试命令
#查看unixODBC配置文件所在位置
odbcinst -j
#查看unixODBC已有DSN
odbcinst -q -s


安装ruby-odbc

cd ~
wget http://cloud.github.com/downloads/saberma/saberma.github.com/ruby-odbc-0.9996.tar.gz
tar -xvzpf ruby-odbc*gz
cd ruby-odbc*[0-9]*
ruby extconf.rb
sudo make
#如果上面命令出错,报nothing to be done for all , 则执行: make clean
sudo make install


安装gems


sudo gem install dbi --version 0.4.0 --no-ri --no-rdoc
sudo gem install dbd-odbc --version 0.2.4 --no-ri --no-rdoc
sudo gem install rails-sqlserver-2000-2005-adapter --no-ri --no-rdoc


测试

script/console
#获取tbl_smsendtask表信息,正常的话会返回Msg所有的字段
Msg
#看一下中文显示是否正常
Msg.last
#修改为中文
m = Msg.last
m.update_attribute :SM_Content, '中文字符'
#查看修改是否生效
Msg.all.collect {|m| m.SM_Content}


配置信息
#配置企业信息号,短信机系统标识
#或者配置短信内容模板
vim app/models/msg.rb


定时器

whenever项目

#配置定时器规则
vim config/schedule.rb
#查看定时规则
whenever
#将定时规则写入cron
whenever -w
#重启定时器让定时任务生效
sudo /etc/init.d/cron restart

#用cron执行定时任务时,会找不到oracle库(oracle安装在用户目录下,cron运行时有自己的用户),需要将下面这行
/usr/lib/oracle/10.2.0.3/client/lib/
#添加到 /etc/ld.so.conf 里并执行
sudo ldconfig -v


分享到:
评论
1 楼 wyasd123 2012-10-11  
hi,你好,按照以上步骤配置,
执行:isql -v SQL2000DSN msg msg 
的时候出现了:
    [IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified 
    [ISQL]ERROR: Could not SQLConnect 

其中:
    #将config/etc下的文件拷贝至/etc 
    cd ~/Documents/zbs 
    sudo cp config/etc/* /etc 

不是很明白,config文件在哪呢?

谢谢!

相关推荐

    rails配置sqlserver2000

    在Ruby on Rails框架中,与SQLServer 2000集成可能会比与其他常见的数据库系统(如MySQL或PostgreSQL)稍复杂一些,因为SQLServer 2000的兼容性问题和缺少官方支持。然而,通过一些第三方库和适当的配置,我们仍然...

    Ruby-SQLServerRailsActiveRecord的SQLServer适配器

    本主题将深入探讨如何在Rails应用中使用SQL Server作为数据存储,特别关注`activerecord-sqlserver-adapter`这个gem,它使得Ruby的ActiveRecord能够与Microsoft SQL Server无缝集成。 `activerecord-sqlserver-...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **命令**:在项目根目录下运行`rails server`即可启动Rails内置的Web服务器。 - **测试**:通过浏览器访问`http://localhost:3000`来查看应用是否正常运行。 #### 五、升级与回滚 - **升级**:当需要更新到Rails...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...

    Ruby on rails 数据库详细配置

    对于连接到Microsoft SQL Server(MSSQL),则需要使用不同的适配器,例如`sqlserver`或`tinytds`,并且可能需要额外的库,如`activerecord-sqlserver-adapter`。配置可能会类似这样: ```yaml production: ...

    基于Ruby语言的Ruby on Rails项目及其代码方案

    rails server ``` - **说明**:此命令用于启动Rails内置的WEBrick服务器。 2. **访问应用** - **地址**:`http://localhost:3000/users` - **说明**:通过此URL访问,可以看到应用返回的所有用户的姓名列表。 ...

    ruby on rails活动发布demo,intellij项目

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。Rails强调“约定优于配置”,鼓励开发者使用约定俗成的编程实践,从而...

    Ruby On Rails-Cheatsheet

    ### Ruby on Rails Cheat Sheet 本篇文章将从给定的文件中提炼出关于Ruby on Rails的重要知识点,主要包括命令、URL映射、命名规范、ERB标签、链接创建、数据库配置及查询、模型之间的关系等方面。 #### Ruby on ...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    ### Ruby on Rails 环境搭建与 Passenger+Nginx 配置详解 #### 一、Ruby on Rails 开发环境搭建 在进行 Ruby on Rails 的开发之前,首先需要完成一系列的基础软件安装工作,包括但不限于 Ruby 语言环境、Rails ...

    rails2.3.2

    6. 开发者工具:Rails 2.3.x 包含了 Rails Console,一个交互式的命令行工具,以及 Rails Server,用于运行应用程序。此外,还有 Scaffolding 机制,可以自动生成基本的 CRUD(创建、读取、更新、删除)操作的控制器...

    rails向导打包

    Rails 向导是 Ruby on Rails 开发者的重要资源,它为初学者和经验丰富的开发者提供了深入理解 Rails 框架的全面指南。本压缩包包含了多个关键主题的详细文档,涵盖了从数据库操作到应用调试等多个方面。让我们逐一...

    Rails相关电子书汇总二

    10. **开发工具**:可能介绍像Rails Console、Rails Server、Rails Generators等命令行工具,以及IDEs(如Visual Studio Code、Atom、RubyMine)和文本编辑器的使用。 尽管具体的内容需要查看电子书才能得知,但...

    使用PetaPoco ORM管理SQLServer,SQLIte,MySQL和ProgreSQL数据库

    它的设计灵感来源于Ruby on Rails的ActiveRecord,但比大型ORM如Entity Framework更小巧。PetaPoco通过动态SQL生成,避免了复杂的XML映射文件,减少了学习曲线和项目维护成本。 在WPF(Windows Presentation ...

    subsonic2.2ORM框架

    SubSonic遵循了Ruby on Rails的一些准则,比如在建表时一些约定(建议每个表都加CreatedOn[Datetime],CreatedBy[nvarchar],ModifyOn[DateTime],ModifyBy[nvarchar])....,这些详细信息可以去参考Ruby on Rails. ...

    Agile Web Development with Rails Final

    Ruby on Rails (often shortened as Rails) is a server-side web application framework written in Ruby under the MIT License. It uses Model-View-Controller (MVC) architecture and emphasizes convention ...

    Ruby-on-Rails:Ruby on Rails中的第一个应用程序

    你可以通过解压并运行`bundle install`来安装所有必要的依赖,接着运行`rails server`启动本地开发服务器,从而在浏览器中查看和交互这个应用程序。通过阅读和分析代码,你可以更深入地学习Rails的运作机制和最佳...

    mssqlex:用于Elixir的Microsoft SQL Server适配器

    Ecto是Elixir的一个核心库,提供了一套用于处理数据存储、查询和验证的工具,类似于Ruby on Rails中的ActiveRecord。Ecto通过适配器机制支持多种数据库,包括MySQL、PostgreSQL以及我们的主角——SQL Server。 ### ...

    sc2_news:将starcraft.md从ASP.NET MVC移植到Ruby on Rails

    2. **数据库迁移**:ASP.NET MVC通常使用SQL Server,而Rails则常与SQLite或PostgreSQL等数据库配合。因此,需要将现有的数据库模型转换为适配Rails的ActiveRecord模式,并进行数据迁移。 3. **路由和控制器**:ASP...

    sample_app:“ Ruby on Rails教程”中的sample_app

    在 `sample_app` 中,Active Record 是 Ruby on Rails 提供的 ORM(Object-Relational Mapping)工具,使得开发者可以直接操作数据库中的对象,而不必编写 SQL 查询。数据库设计通常通过 migration 文件来完成,这些...

Global site tag (gtag.js) - Google Analytics