控制台信息:
c:/ruby/lib/ruby/1.8/readbytes.rb:21:in `read': Invalid argument (Errno::EINVAL)
from c:/ruby/lib/ruby/1.8/readbytes.rb:21:in `readbytes'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/message.rb:32:in `read'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/connection.rb:30:in `initialize'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/connection.rb:29:in `loop'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/connection.rb:29:in `initialize'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/postgres-compat.rb:23:in `new'
from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/postgres-compat.rb:23:in `initialize'
from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/connection_adapters/postgresql_adapter.rb:24:in `connect'
... 9 levels...
from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/base.rb:1490:in `initialize_without_callbacks'
from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/callbacks.rb:225:in `initialize'
from test.rb:17:in `new'
from test.rb:17
看完有点莫名其妙,但可以肯定的是:错误来自数据库。找到PostgreSQl的日志:
2007-02-11 23:13:38 FATAL: database "hello" does not exist
2007-02-11 23:18:48 FATAL: database "hello" does not exist
原来如此,数据库名称不确,用SQLServer用惯了,难免出现这种大小写错误,立马改过"Hello"
ruby 代码
- require 'rubygems'
- require_gem 'activerecord'
-
-
- ActiveRecord::Base.establish_connection(
- :adapter => "postgresql",
- :host => "localhost",
- :username => "admin",
- :password => "admin",
- :database => "hello")
-
- class Resource < ActiveRecord::Base
- set_table_name 'resource'
- end
-
-
- tab = Resource.new("id" => 8)
- tab.id = 8
- tab.name = 'ActiveRecord'
- tab.save
分享到:
相关推荐
5. **错误处理(Error Handling)**:DataObjects为所有可能的数据库错误提供了统一的异常处理机制,使得开发者可以编写通用的错误处理代码,而无需考虑底层数据库系统的具体错误信息。 通过使用DataObjects,...
6. **错误处理**:当发生数据库错误时,`ruby-mysql`库会抛出异常,以便开发者可以捕获并处理这些错误。 7. **兼容性**:此库适用于多种Ruby实现,包括MRI(Matz's Ruby Interpreter)、JRuby(Java平台上的Ruby)...
在实际开发中,通常会使用ORM(对象关系映射)框架,如ActiveRecord(它是Ruby on Rails的一部分),来简化数据库操作并提供更好的抽象层。 `langdb-master`这个文件名可能表示的是一个包含语言学习数据库的项目,...
MySQL Ruby 是一个用于 Ruby 语言的 MySQL 数据库接口,它为 Ruby 开发者提供了一个方便、高效的工具来连接和操作 MySQL 数据库。`mysql-ruby-2.8.2.tar.gz` 是这个库的源代码压缩包,版本号为 2.8.2。这个包遵循 ...
《Pro ActiveRecord:Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord这一对象关系映射(Object Relational Mapping, ORM)工具来管理和操作数据库,特别是在Ruby on Rails框架中的应用。...
而Mongoid则为Ruby开发者提供了一种方便的方式来与MongoDB交互,将数据模型化为Ruby对象,使得在Ruby应用中操作数据库变得更加直观和简单。 1. **什么是ODM(Object-Document-Mapper)?** ODM(Object-Document-...
在Ruby的世界里,`ruby-pg`是连接PostgreSQL数据库的标准库之一。 **1. PostgreSQL数据库系统** PostgreSQL是一种开源的关系型数据库管理系统(RDBMS),以其强大的功能、稳定性和高度的可扩展性而闻名。它支持标准...
5. **异常处理**:学习如何使用begin/rescue/ensure来捕获和处理程序运行时可能出现的错误。 6. **元编程**:Ruby的动态特性允许你在运行时修改代码,这是其独特魅力之一。元编程让你能够编写更加灵活和强大的代码...
在Rails中,我们通常使用特定的gem来连接不同的数据库系统,对于Oracle而言,这个gem通常是`ruby-oci8`或`activerecord-oracle_enhanced-adapter`。 在Rails 2.1时代,开发者需要安装和配置这些gem来确保Rails应用...
模型(如`Object`)会与数据库表关联,并且可以使用ActiveRecord的查询接口进行数据操作。 对于身份验证和授权,可以使用如Devise这样的gem,它提供了一套完整的用户认证解决方案,包括注册、登录、密码重置等功能...
- **ActiveRecord**:ORM(Object-Relational Mapping),简化数据库操作。 7. **实践项目** - **命令行工具**:使用Ruby编写简单的命令行应用,处理文本或执行系统任务。 - **Web开发**:通过Ruby on Rails构建...
1. **对象关系映射(ORM)**:ORM允许开发者使用面向对象的方式来操作数据库,避免了直接编写SQL语句,提高了代码的可读性和可维护性。ActiveRecord模式是ORM的一种具体实现。 2. **实体类(Entity Class)**:在...
Ruby提供了多种库,如ActiveRecord(它是Ruby on Rails框架的一部分),它允许开发者用面向对象的方式与数据库进行交互。通过ActiveRecord,我们可以定义模型,这些模型对应于数据库中的表,并且包含了对数据进行...
8. **配置**:如数据库连接配置、环境变量等。 使用这个模板,开发者可以快速地构建起一个完整的微服务,只需根据自己的需求调整路由、业务逻辑和配置。此外,由于Goliath的异步特性,即使在处理大量并发请求时,也...
GORM,全称Grails Object Relational Mapping,是Grails框架中的数据持久化工具,它提供了简洁的API,使得开发者可以方便地进行数据库操作,类似于Java的Hibernate或Ruby on Rails的ActiveRecord。GORM不仅支持关系...
4. **数据库交互**:项目可能使用ActiveRecord(Ruby on Rails的一部分),一个强大的ORM(对象关系映射)工具,用于简化数据库操作。 5. **错误处理和日志记录**:良好的错误处理和日志记录机制对于调试和维护至关...
这些练习题可能会涉及到数据库连接,这将让你了解如何在Ruby中使用像`ActiveRecord`这样的ORM(对象关系映射)框架,以方便地进行数据库操作。 记住,理论学习是基础,但实践才能真正巩固知识。不断尝试、编写和...
5. **数据库设置**:Ruby on Rails使用ActiveRecord来连接和操作数据库。你需要配置数据库连接(如SQLite、MySQL或PostgreSQL),并创建数据模型来映射到数据库表。 6. **路由**:Rails的路由系统定义了URL到控制器...
3. **连接和配置**:讲解如何使用Ruby的MongoDB驱动程序建立与MongoDB服务器的连接,设置数据库和集合,并处理连接错误。 4. **查询与聚合**:MongoDB支持丰富的查询语法,包括查询筛选、排序、分页等。书中会介绍...