`
jbf034
  • 浏览: 152362 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
连接数据库
Active Record 把数据库连接的概念抽象出来,有助于程序处理各种特殊数据库的底层
细节。相反,Active Record 应用程序使用通常的调用,代理了一组数据库适配器的细节。
(This abstraction breaks down slightly when code starts to make SQL-based
queries, as we’ll see later.)
指定连接的一种方式是使用establish_connection()类方法。[在Rails 应用程序中,
另一种特殊的连接方式,我们在178 页讨论。]举例来说,下面调用在服务器dbserver.com
上使用给定的用户名字和口令,创建了一个对名为railsdb 的MySQL 数据库的连接。这是所
有的model 类共用的缺省连接。
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "dbserver.com",
:database => "railsdb",
:username => "railsuser",
:password => "railspw"
)
Active Record 支持DB2,MySQL,Oracle,Postgres,SqlServer 和SQLite 数据库。每
个适配器都接受有些不同的连接参数,像图14.2 显示的。注意:Oracle 适配器被称为oci。

连接和model 类相关,每个类都从父类中继承了它的父类的连接。ActiveRecord::base
是所有Active Record 类的基类,对于你定义的所有Active Record 类设置一个缺省的连接。
但是,在你需要时,你可以覆写它。
下面的例子,我们大多数应用程序的表基本上是在MySQL 中的online 数据库。但由于某
种原因,customer 表在backend 数据库中。
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "dbserver.com",
:database => "online",
:username => "groucho",
:password => "swordfish")
class LineItem < ActiveRecord::Base
# ...
end
class Order < ActiveRecord::Base
# ...
end
class Product < ActiveRecord::Base
# ...
end
class Customer < ActiveRecord::Base
# ...
end
Customer.establish_connection(
:adapter => "mysql",
:host => "dbserver.com",
:database => "backend",
:username => "chicho",
:password => "piano")
当我们在本书先前版本中写Depot 应用程序时,我们没有使用establish_connection()
方法。相反,我们在config/database.yml 文件内指定连接参数。对大多数Rails 应用程序
来说,这会很好地工作。这并不只是在代码外部保持了所有连接信息,它对Rails 测试和开
也会很好地工作。图14.2 中的所有参数也可用在YAML 文件中。它的更多细节在178 页的13.3
节中。
最后,你可以结合这两种方式。如果你传递一个符号给establish_connection(),Rails
查看database.yml 文件内段的名字,并以找到参数进行连接。这样你可以在你的代码外面保
持所有的连接细节。

分享到:
评论

相关推荐

    Echarts连接数据库实例

    在“Echarts连接数据库实例”中,我们看到的是一个结合了Echarts、Java以及MySQL数据库的实际项目,旨在通过servlet来处理数据库请求,然后使用Echarts进行数据可视化。 首先,我们需要理解Echarts的基本用法。...

    在JavaBean中连接数据库.doc

    JavaBean 中连接数据库的实现方式 JavaBean 是 Java 语言中的一种组件模型,用于封装数据和业务逻辑。在 Web 开发中,JavaBean 通常用于连接数据库,实现数据的交互和业务逻辑的处理。在本文中,我们将讨论在 ...

    dreamweaver连接数据库access

    Dreamweaver 是一个功能强大的网页设计和开发工具,连接数据库是其重要的功能之一。本文将介绍 Dreamweaver 连接 Access 数据库的方法,包括建立站点、连接字符串、测试连接、生成连接文件、绑定记录集、显示数据库...

    使用JavaBean连接数据库

    使用JavaBean连接数据库 JavaBean是一种特殊的Java类,用于封装数据和业务逻辑。使用JavaBean连接数据库,可以将数据库操作封装在JavaBean中,从而简化数据库操作和数据访问。 JavaBean连接数据库的步骤: 1. ...

    小海豚用于连接数据库的工具

    标题中的“小海豚用于连接数据库的工具”指的是小海豚数据库管理软件,这是一款专为数据库管理人员设计的工具,帮助他们轻松地管理和操作数据库。它通常具备多种功能,如数据查询、数据导入导出、数据库备份恢复、...

    ERWin如何连接数据库(SQL2000、Oracle 10g)

    "ERWin连接数据库详解" ERWin是一款功能强大的数据建模工具,可以连接多种类型的数据库,包括SQL Server 2000和Oracle 10g。然而,在连接数据库时,用户可能会遇到各种错误,例如数据库不存在、表不存在等错误。...

Global site tag (gtag.js) - Google Analytics