---
title: "Sequel 连接 OceanBase 数据库示例程序 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: Sequel 连接 OceanBase 数据库示例程序 功能适用性 Sequel 适用于 OceanBase 数据库 MySQL 模式。 本文将介绍如何使用 Sequel 和 OceanBase 数据库构建一个应用程序，实现创建表、插入数据和查询数据等基本操作。 前提条件 您已安装 Ruby 和 RubyGems 您…
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

# Sequel 连接 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/200.sequel-connection-oceanbase-database-program.md)

#### 功能适用性

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

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

## 前提条件

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

## 操作步骤

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

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

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

```shell
ruby -v
gem -v

```

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

使用 `gem` 安装 Sequel 和 mysql2：

```shell
gem install sequel 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`：提供账户密码

### 步骤四：创建示例程序

1. 创建配置文件 `config.rb`：

   ```ruby
   PASSWORD = ENV['OB_PASSWORD'] || 'your_password'

   CLIENT_CONFIG = {
     adapter: 'mysql2',
     host: 'your_host',
     port: your_port,
     username: 'your_username',
     password: PASSWORD,
     all_databases: true
   }

   ```
 2. 创建示例程序 `main.rb`：

   ```ruby
   require 'sequel'
   require 'sequel/adapters/mysql2'
   require File.expand_path('config.rb', __dir__)

   # 创建连接
   db = Sequel.connect(CLIENT_CONFIG)

   # 创建数据库
   db_name = "ruby_test_db"
   db.run("CREATE DATABASE IF NOT EXISTS #{db_name}")

   db.disconnect

   # 重新连接到新数据库
   CLIENT_CONFIG[:database] = db_name
   db = Sequel.connect(CLIENT_CONFIG)
   puts "Database '#{db_name}' selected"

   # 创建表
   db.run("DROP TABLE IF EXISTS users")
   db.run("CREATE TABLE users (
     id INT AUTO_INCREMENT PRIMARY KEY,
     name VARCHAR(255) NOT NULL,
     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
   )")

   # 插入示例数据
   sample_names = ["Alice", "Bob", "Charlie", "David"]
   sample_names.each do |name|
     db.run("INSERT INTO users (name) VALUES ('#{name}')")
   end

   puts "Table created and sample data inserted successfully"
   puts "Inserted #{sample_names.size} sample records"

   # 查询并显示所有数据
   results = db[:users]
   puts "\nUsers:"
   results.each do |row|
     puts "ID: #{row[:id]}, Name: #{row[:name]}, Created at: #{row[:created_at]}"
   end

   # 关闭连接
   db.disconnect

   ```

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

1. 运行程序：

   ```shell
   ruby main.rb

   ```

   预期返回结果：

   ```shell
   Database 'ruby_test_db' selected
   Table created and sample data inserted successfully
   Inserted 4 sample records

   Users:
   ID: 1, Name: Alice, Created at: 2025-05-21 15:20:06 +0800
   ID: 2, Name: Bob, Created at: 2025-05-21 15:20:06 +0800
   ID: 3, Name: Charlie, Created at: 2025-05-21 15:20:06 +0800
   ID: 4, Name: David, Created at: 2025-05-21 15:20:06 +0800

   ```

## 常见问题

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

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

## 性能优化建议

1. 使用 Sequel 的批处理操作
 2. 使用连接池管理数据库连接
 3. 使用预编译查询
 4. 合理使用缓存
 5. 优化数据库索引

 上一篇 下一篇 ![有帮助](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) 咨询热线
