基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
Sequel 连接 OceanBase 数据库示例程序
更新时间:2026-04-09 14:12:04
功能适用性
Sequel 适用于 OceanBase 数据库 MySQL 模式。
本文将介绍如何使用 Sequel 和 OceanBase 数据库构建一个应用程序,实现创建表、插入数据和查询数据等基本操作。
前提条件
- 您已安装 Ruby 和 RubyGems
- 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户
操作步骤
- 检查 Ruby 和 RubyGems 的版本
- 安装必要的 gem
- 获取 OceanBase 数据库连接信息
- 创建示例程序
- 运行示例程序
步骤一:检查 Ruby 和 RubyGems 的版本
打开终端,运行以下命令检查 Ruby 和 RubyGems 的版本:
ruby -v
gem -v
步骤二:安装必要的 gem
使用 gem 安装 Sequel 和 mysql2:
gem install sequel mysql2
步骤三:获取 OceanBase 数据库连接信息
联系 OceanBase 数据库部署人员或者管理员获取相应的数据库连接串。
mysql -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
$host:提供 OceanBase 数据库连接 IP$port:提供 OceanBase 数据库连接端口$database_name:需要访问的数据库名称$user_name:提供租户的连接账户$password:提供账户密码
步骤四:创建示例程序
创建配置文件
config.rb:PASSWORD = ENV['OB_PASSWORD'] || 'your_password' CLIENT_CONFIG = { adapter: 'mysql2', host: 'your_host', port: your_port, username: 'your_username', password: PASSWORD, all_databases: true }创建示例程序
main.rb: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
步骤五:运行示例程序
运行程序:
ruby main.rb预期返回结果:
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
常见问题
连接错误:如果无法连接到数据库,请检查:
- 数据库地址和端口是否正确
- 用户名和密码是否正确
- 网络连接是否正常
权限错误:如果遇到权限相关的错误,请确保用户拥有足够的权限来执行所需的操作。
SQL 语法错误:如果 SQL 语句有语法错误,请检查 SQL 语句的语法是否正确。
性能优化建议
- 使用 Sequel 的批处理操作
- 使用连接池管理数据库连接
- 使用预编译查询
- 合理使用缓存
- 优化数据库索引