OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    Rust

    最終更新日:2026-04-09 02:53:56  更新
    シェア
    このページの内容
    前提条件
    操作手順
    ステップ1:RustとCargoのバージョンを確認する
    ステップ2:プロジェクトを作成し、必要な依存関係をインストールする
    ステップ3:OceanBaseデータベース接続情報を取得する
    ステップ4:main.rsファイル内のデータベース接続情報を修正する
    ステップ5:main.rsファイルを実行する
    よくある質問
    パフォーマンス最適化の推奨事項

    折りたたみ

    シェア

    本記事では、RustとOceanBaseデータベースを使用してアプリケーションを構築し、テーブルの作成、データの挿入、クエリなどの基本的な操作を実行する方法を紹介します。

    前提条件

    • Rustツールチェイン(rustup)とCargoがインストール済みであること。
    • OceanBaseデータベースV4.2.4以降のバージョンがインストール済みで、MySQLモードのテナントが作成済みであること。

    操作手順

    1. RustとCargoのバージョンを確認する
    2. 必要な依存関係をインストールする
    3. OceanBaseデータベース接続情報を取得する
    4. config.rs ファイル内のデータベース接続情報を修正する
    5. main.rs ファイルを実行する
    6. インタラクティブなコマンドラインインターフェース(CLI)で対応する操作を実行する

    ステップ1:RustとCargoのバージョンを確認する

    ターミナルを開き、以下のコマンドを実行してRustとCargoのバージョンを確認します:

    rustc --version
    cargo --version
    

    ステップ2:プロジェクトを作成し、必要な依存関係をインストールする

    1. 新しいRustプロジェクトを作成します:

      cargo new oceanbase_demo
      cd oceanbase_demo
      
    2. cargo を使用して mysql クレートをインストールします:

      cargo add mysql
      
    3. (オプション)非同期操作を使用する必要がある場合は、mysql_async クレートをインストールできます:

      cargo add mysql_async
      

    ステップ3:OceanBaseデータベース接続情報を取得する

    OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。

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

    パラメータの説明:

    • $host:OceanBaseデータベースの接続IPアドレスを提供します。ODP接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPを使用します。
    • $port:OceanBaseデータベースの接続ポートを提供します。ODP接続はデフォルトで2883、直接接続方式はデフォルトで2881です。
    • $database_name:アクセス対象のデータベース名。
    • $user_name:テナントの接続アカウント。ODP接続フォーマット:ユーザー名@テナント名#クラスタ名 または クラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。
    • $password:アカウントのパスワード。

    ステップ4:main.rsファイル内のデータベース接続情報を修正する

    ステップ3の情報に基づいて、main.rs ファイル内のデータベース接続情報を修正します。

    1. oceanbase_demo プロジェクトフォルダに移動します。

    2. main.rs ファイルにデータベース接続情報を追加または変更します。

      main.rs に完全なサンプルコードを以下のように追加します:

      use mysql::*;
      use mysql::prelude::*;
      
      fn main() -> Result<(), Box<dyn std::error::Error>> {
          const OCEANBASE_CONFIG: &str = "mysql://test_user001@mysql001:password@10.10.10.1:2881/test?charset=utf8mb4";
      
          // Establish connection
          println!("Connecting to database...");
          let pool = Pool::new(DB_URL)?;
          let mut conn = pool.get_conn()?;
          println!("Connected successfully!");
      
          // Create table
          conn.query_drop(
              r"CREATE TABLE IF NOT EXISTS users (
                  id INT PRIMARY KEY AUTO_INCREMENT,
                  name VARCHAR(255) NOT NULL,
                  email VARCHAR(255) NOT NULL,
                  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
              )"
          )?;
      
          println!("Table created successfully!");
      
          // Insert sample data
          conn.exec_batch(
              r"INSERT INTO users (name, email) VALUES (?, ?)",
              vec![
                  ("Alice", "alice@example.com"),
                  ("Bob", "bob@example.com"),
                  ("Charlie", "charlie@example.com"),
              ]
          )?;
      
          println!("Sample data inserted successfully!");
      
          // Query and display the data
          let selected_users = conn
              .query_map(
                  "SELECT id, name, email FROM users",
                  |(id, name, email)| {
                      User { id, name, email }
                  }
              )?;
      
          println!("\nCurrent users in database:");
          for user in selected_users {
              println!("ID: {}, Name: {}, Email: {}", user.id, user.name, user.email);
          }
      
          Ok(())
      }
      
      // Structure to hold user data
      struct User {
          id: i32,
          name: String,
          email: String,
      }
      

    ステップ5:main.rsファイルを実行する

    1. oceanbase_demo プロジェクトディレクトリに移動します:

      cd oceanbase_demo
      
    2. 以下のコマンドを実行してプログラムを起動します:

      cargo run
      

      実行結果は次のとおりです:

      Connecting to database...
      Connected successfully!
      Table created successfully!
      Sample data inserted successfully!
      
      Current users in database:
      ID: 1, Name: Alice, Email: alice@example.com
      ID: 2, Name: Bob, Email: bob@example.com
      ID: 3, Name: Charlie, Email: charlie@example.com
      ID: 4, Name: Alice, Email: alice@example.com
      ID: 5, Name: Bob, Email: bob@example.com
      ID: 6, Name: Charlie, Email: charlie@example.com
      

    よくある質問

    1. 接続エラー:データベースに接続できない場合は、次のことを確認してください:

      • データベースのアドレスとポートが正しいかどうか
      • ユーザー名とパスワードが正しいかどうか
      • ネットワークが正常に接続されているかどうか
    2. 権限エラー:権限に関連するエラーが発生した場合は、ユーザーが必要な操作を実行するために十分な権限を持っていることを確認してください。

    3. SQL構文エラー:SQLステートメントに構文エラーがある場合は、SQLステートメントの構文が正しいかどうか確認してください。

    4. データ型エラー:挿入したデータ型がテーブルの定義とマッチしない場合は、挿入したデータ型が正しいことを確認してください。

    パフォーマンス最適化の推奨事項

    1. データベース接続を接続プールで管理する
    2. 非同期操作を使用して高同時実行パフォーマンスを向上させる
    3. バッチ処理を使用してデータ挿入効率を向上させる
    4. データベース接続のタイムアウト時間を適切に設定する

    前のトピック

    PDOドライバー
    最後

    次のトピック

    SeaORM
    次
    このページの内容
    前提条件
    操作手順
    ステップ1:RustとCargoのバージョンを確認する
    ステップ2:プロジェクトを作成し、必要な依存関係をインストールする
    ステップ3:OceanBaseデータベース接続情報を取得する
    ステップ4:main.rsファイル内のデータベース接続情報を修正する
    ステップ5:main.rsファイルを実行する
    よくある質問
    パフォーマンス最適化の推奨事項