---
title: "ActiveRecord 连接 OceanBase 数据库示例程序 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: ActiveRecord 连接 OceanBase 数据库示例程序 功能适用性 ActiveRecord 适用于 OceanBase 数据库 MySQL 模式。 本文将介绍如何使用 ActiveRecord 和 OceanBase 数据库构建一个应用程序，实现创建表、插入数据和查询数据等基本操作。 前提条件 您已安装…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# ActiveRecord 连接 OceanBase 数据库示例程序

更新时间：2026-04-09 14:12:04

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/680.ecological-integration/200.orms-frameworks/500.ruby/100.activerecord-connection-oceanbase-database-program.md)

#### 功能适用性

ActiveRecord 适用于 OceanBase 数据库 MySQL 模式。

本文将介绍如何使用 ActiveRecord 和 OceanBase 数据库构建一个应用程序，实现创建表、插入数据和查询数据等基本操作。

## 前提条件

- 您已安装 Ruby 和 RubyGems
 - 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户

## 操作步骤

1. 检查 Ruby 和 RubyGems 的版本
 2. 安装必要的 gem
 3. 获取 OceanBase 数据库连接信息
 4. 创建并配置 Rails 应用
 5. 运行示例程序

### 步骤一：检查 Ruby 和 RubyGems 的版本

打开终端，运行以下命令检查 Ruby 和 RubyGems 的版本：

```shell
ruby -v
gem -v

```

### 步骤二：安装必要的 gem

1. 安装系统依赖（以 Ubuntu 为例）：

   ```shell
   sudo apt-get install ruby-dev mysql-client libmysqlclient-dev

   ```
 2. 如果使用 RVM（Ruby Version Manager）：

   ```shell
   rvm requirements

   ```
 3. 如果使用 rbenv：

   ```shell
   rbenv install -l  # 查看可用版本
   rbenv install x.x.x  # 安装特定版本
   rbenv global x.x.x  # 设置全局版本

   ```
 4. 使用 `gem` 安装 ActiveRecord 和 mysql2：

   ```shell
   gem install activerecord mysql2

   ```

### 步骤三：获取 OceanBase 数据库连接信息

联系 OceanBase 数据库部署人员或者管理员获取相应的数据库连接串。

```shell
mysql -h$host -P$port -u$user_name -p$password -D$database_name

```

**参数说明：**

- `$host`：提供 OceanBase 数据库连接 IP
 - `$port`：提供 OceanBase 数据库连接端口
 - `$database_name`：需要访问的数据库名称
 - `$user_name`：提供租户的连接账户
 - `$password`：提供账户密码

### 步骤四：创建并配置 Rails 应用

1. 创建新的 Rails 应用：

   ```shell
   rails new activerecord_oceanbase -d mysql

   ```
 2. 配置数据库连接信息：

   在 `config/database.yml` 中添加以下配置：

   ```yaml
   development:
     adapter: mysql2
     encoding: utf8mb4
     database: your_database
     username: your_username
     password: your_password
     host: your_host
     port: your_port

   ```
 3. 创建示例模型：

   ```ruby
   # app/models/user.rb
   class User < ActiveRecord::Base
     validates :name, presence: true
   end

   ```

### 步骤五：运行示例程序

1. 创建数据库表：

   ```ruby
   # db/migrate/20230520_create_users.rb
   class CreateUsers < ActiveRecord::Migration[6.1]
     def change
       create_table :users do |t|
         t.string :name
         t.timestamps
       end
     end
   end

   ```
 2. 运行迁移：

   ```shell
   rails db:migrate

   ```
 3. 在 Rails 控制台中测试：

   ```shell
   rails c

   ```

   ```ruby
   # 创建记录
   user = User.create(name: "John Doe")

   ```

   ```ruby
   # 查询记录
   users = User.all

   ```

## 常见问题

1. **连接错误**：如果无法连接到数据库，请检查：

      - 数据库地址和端口是否正确
      - 用户名和密码是否正确
      - 网络连接是否正常
 2. **权限错误**：如果遇到权限相关的错误，请确保用户拥有足够的权限来执行所需的操作。
 3. **SQL 语法错误**：如果 SQL 语句有语法错误，请检查 SQL 语句的语法是否正确。

## 性能优化建议

1. 使用 ActiveRecord 的批量操作方法（如 `insert_all`）
 2. 使用预加载（preload）避免 N+1 查询问题
 3. 合理使用缓存
 4. 优化数据库索引

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
