快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门24小时在线娱乐的网站_龟发之家论坛



关于Ruby on Rails基于Web利用,Rails对数据库造访支持照样很不错的.Rails由于自身附带MySQL数据库驱动,默认数据库造访就直接支持.但连接SQL Server作为一个初学者在探索历程中也发明几个问题.

筹备事情

情况参数

在进入本章节数据库造访测试之前, 很有需要阐明测试的Rails情况各方面参数 请参照改动:

开拓对象

设置设置设备摆设摆设好了Rails开拓情况后, 阐明一下在编程应用编译对象Aptana Red Rails. Aptana是一个基于Eclipse的集成开拓情况,其最广为人知的是它异常刁悍的JavaScript编辑器和调试器,去年Aptana接受了Radrails项目,添加了异常强大年夜的Ruby on Rails支持, 这款对象也是今朝Ruby on Rails 社区中应用对照多编译对象之一 此中对代码着色和很多自动基于rails操作整个集成起来 当然你也可以很方便在对象调用Shell使用Rails自身脚本快速创建.

关于Aptana RedRails对象 更多信息该对象下载: Aptana Red Rails Download.

更多关于Ruby/Rails对象 请拜见: MSDN-Ruby/Rails开拓对象

Rails对数据库支持

一个SQLSErver文件支持问题

Rails今朝主流的数据库以及小型数据库都斟酌到了, 支持面对照广,Rails可以与DB2,MySQL(首选),Oracle,Postgres,SQL Server,以及SQLLite一路事情.由于Rails本身附带了MySQL数据库驱动以是对MySQL支持基础"无缝连接"要领.假如想应用连接MySQL意外数据库必要下载驱动.本日着重测试SQLServer数据库链接.

比拟DB2/MySQL/Oracle数据库 SQLServer 对rails 数据造访的支持就显得有点麻烦:详细步骤如下:

操作步骤是没有问题的, 在进行到第三步时 碰着一个问题:当我下载最新的Ruby-DBI: Version-dbi-0.4.3.zips

解压本地目录后无法找到响应的目录和对应的ADO.RB文件. 看了下面又澳门24小时在线娱乐的网站有版本 以为版本问题 我把所有的DBI全手下载后发明澳门24小时在线娱乐的网站:

问题是:在0.2.0-0.2.2版本间能够找到SQL SERver造访数据库支持文件ADO.rb 而在最新的0.4.0-0.4.3四个版本中始终无法找到对应目录下ADO.RB文件 不知这是为何??例如在0.2.0版本加压后目录:\dbi-0.2.0\lib\dbd\下

能够清晰看到ADO.rb(稍后会验证是否连接SQLSERver成功) 同时能够看到支持DB2/MySQL/ODBC/Oracle/SQLite支持的.RB文件 不知这是什么缘故原由???

设置设置设备摆设摆设DataBase.yml文件非常

如上当我们把找到的对SQLServer数据库造访支持的ADO.Rb文件拷贝Ruby安装目录下, 进入编程测试数据库时还必要Config设置设置设备摆设摆设在文件目录下Config\DataBase.xml文件

我们先看看RedRails对象中尚未设置设置设备摆设摆设原始Database.yml:

从上图就能清晰看出全部Database.XML文件分为三个部分.分手代表开拓/测试/终极产品数据库设置设置设备摆设摆设. 分手对应三个数据库. 开拓阶段编程事情时采纳开拓数据库,测试阶段则应用测试数据库, 每次单个测试履行之前都可以将数据库清空,以便得到一个干净的运行情况.而相关临盆数据库时最红产品上线应用的. Rails这样做主要目录在全部开拓阶段对哥各个数据库造访维持自力. 即如上A B C三个阶段.

我们再来看看Database.XML文件存储目录:如下用RedRails新建的Rails项目目录布局:

在开拓说话中给予Web利用中我们一样平常把数据库链接信息 和代码放在一块或是经由过程调用Connection()类要领造访Web.Config文件通报用户名/密码 数据库名 这些对利用法度榜样敏感的信息.这样做法在Rails中觉得一方面短缺安然上保障, 别的一方面在编码上没有机动性. 假如适应小的项目和利用没有多么问题, 发生需求扩展这种要领就令人烦劳了不少.在Rails中提倡的是把数据库的连接信息保澳门24小时在线娱乐的网站存在代码之外. 对应目录布局便是在Config\DataBase.yml文件.

今朝我们要测试的是SQL SErver数据库链接 仔细看上图中DataBase.xml上对应adapter却是sqlite3. 这是由于在Red Rails中创建Rails Project 数据库Sqlite3是默认:

以是在创建RedRails对象中创建必要指定我们必要测试的SQL Server,在来设置设置设备摆设摆设Database.yml文件开拓情况数据库:

ok.到此我们已近设置设置设备摆设摆设相关Rails在Development开拓情况数据库设置设置设备摆设摆设信息. Rails Application 在启动运用法度榜样后就会急速自动检测. 这是提示一个非常信息:

这是s提示我们初始化一个关于SQlServer-adapter造访必要的Gem.RubyGems 是用于 Ruby 运行时情况中的库和利用法度榜样的标准打包和安装框架,在Rails 2.0中数据库连接器ActiveRecord sqlserver adapter 不再包孕此中,数据库的适配器插件必要用gem 来零丁安装,ok,我们打开CMD输入: gem install activere澳门24小时在线娱乐的网站cord-sqlserver-adapter :

如上提示sqlserver-adapter初始化成功,gem初始化款式为: gem install [gem的详细名称] ,当然你有了编译对象统统都不会这么繁杂.在RedRails中你可以加倍轻易治理Gem.:

在Red Rails对象左下角点击按钮:

呈现Red Rails对Gem治理对象:

填出窗体会自动检索GEms站点:http://gems.rubyforge.org上更新的GEm 选择来初始化:

对象要领加倍直不雅能够看到当前Rails版本中的Gem项, 可以批量更新Gems 而不用要记着各类繁杂的CMd参数名称和要更新Gem的名称. 这里顺带说一下RedRails对象对Gem治理操作运用.在转头来看初始化ServerGem初始化后.这时澳门24小时在线娱乐的网站非常问题就办理. 然则假如包管在Rails Application 在运行前在SQLserver 数据库必须创建相关的数据库 depot_development同时附带一个产品表.

创建SQL脚本:

--今朝只创建开拓数据库 测试/产品尚未创建

--Author:chenkai Date:2010年7月29日13:02:46

IF exists(select * from sys.databases where name='depot_development')

drop database depot_development

go

create database depot_development

go

--创建产品表

use depot_development

go

IF exists (select * from sysobjects where id = object_id(N'[Products]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [Products]

create table Products

(

Id int not null primary key identity(1,1),--主键

Title varchar(100) not null,

Description text not null,

Image_Url varchar(300) not null,

Price decimal(10,2) not null,

CreateDate datetime not null default(getdate())

)

go

--

use depot_development

go

select * from Products

您可能还会对下面的文章感兴趣: