メインコンテンツまでスキップ
バージョン: 2.1

MariaDB データ ソース

概要

MariaDB は、コミュニティ主導で開発され、商用サポートも提供されているオープンソースのリレーショナル データベースで、MySQL のドロップイン置換として利用できます。このトピックでは、Reveal アプリケーションで MariaDB データ ソースに接続して、データを視覚化および分析する方法について説明します。

サーバーの構成

インストール

手順 1 - Reveal MariaDB コネクタ パッケージをインストールします。

ASP.NET アプリケーションの場合、MariaDB サポートを有効にするには、別の NuGet パッケージをインストールする必要があります。

dotnet add package Reveal.Sdk.Data.MariaDB

手順 2 - アプリケーションに MariaDB データ ソースを登録します。

builder.Services.AddControllers().AddReveal(builder =>
{
builder.DataSources.RegisterMariaDB();
});

接続の構成

// Create a data source provider
public class DataSourceProvider : IRVDataSourceProvider
{
public async Task<RVDataSourceItem> ChangeDataSourceItemAsync(IRVUserContext userContext, string dashboardId, RVDataSourceItem dataSourceItem)
{
// Required: Update the underlying data source
await ChangeDataSourceAsync(userContext, dataSourceItem.DataSource);

if (dataSourceItem is RVMariaDBDataSourceItem mariadbItem)
{
// Configure specific item properties as needed
if (mariadbItem.Id == "mariadb_sales_data")
{
mariadbItem.Table = "orders";
}
}

return dataSourceItem;
}

public Task<RVDashboardDataSource> ChangeDataSourceAsync(IRVUserContext userContext, RVDashboardDataSource dataSource)
{
if (dataSource is RVMariaDBDataSource mariadbDS)
{
// Configure connection properties
mariadbDS.Host = "localhost";
mariadbDS.Port = 3306;
mariadbDS.Database = "your-db-name";
}

return Task.FromResult(dataSource);
}
}
重要

ChangeDataSourceAsync メソッドでデータ ソースに加えた変更は、ChangeDataSourceItemAsync メソッドには引き継がれません。両方のメソッドでデータ ソース プロパティを更新する必要があります。上記の例に示すように、ChangeDataSourceItemAsync メソッド内で、データ ソース項目の基になるデータ ソースをパラメーターとして渡して ChangeDataSourceAsync メソッドを呼び出すことをお勧めします。

認証

MariaDB の認証は通常、ユーザー名とパスワードを使用して処理されます。認証オプションの詳細については、認証 トピックを参照してください。

public class AuthenticationProvider : IRVAuthenticationProvider
{
public Task<IRVDataSourceCredential> ResolveCredentialsAsync(IRVUserContext userContext, RVDashboardDataSource dataSource)
{
IRVDataSourceCredential userCredential = null;
if (dataSource is RVMariaDBDataSource)
{
userCredential = new RVUsernamePasswordDataSourceCredential("your_username", "your_password");
}
return Task.FromResult<IRVDataSourceCredential>(userCredential);
}
}

クライアント側の実装

クライアント側では、データ ソースの ID、タイトル、サブタイトルなどの基本プロパティのみを指定する必要があります。実際の接続構成はサーバー上で行われます。

データ ソースの作成

手順 1 - RevealView.onDataSourcesRequested イベントのイベント ハンドラーを追加します。

const revealView = new RevealView("#revealView");
revealView.onDataSourcesRequested = (callback) => {
// Add data source here
callback(new RevealDataSources([], [], false));
};

手順 2 - RevealView.onDataSourcesRequested イベント ハンドラーで、RVMariaDBDataSource オブジェクトの新しいインスタンスを作成します。titlesubtitle プロパティを設定します。RVMariaDBDataSource オブジェクトを作成したら、それをデータ ソース コレクションに追加します。

revealView.onDataSourcesRequested = (callback) => {
const mariadbDS = new RVMariaDBDataSource();
mariadbDS.title = "MariaDB";
mariadbDS.subtitle = "Data Source";

callback(new RevealDataSources([mariadbDS], [], false));
};

アプリケーションが実行されたら、新しい可視化を作成すると、新しく作成された MariaDB データ ソースが [データ ソースの選択] ダイアログに表示されます。

データ ソース項目の作成

データ ソース項目は、ユーザーが視覚化のために選択できる MariaDB データ ソース内の特定のテーブルまたはデータセットを表します。クライアント側では、ID、タイトル、サブタイトルのみを指定する必要があります。

revealView.onDataSourcesRequested = (callback) => {
// Create the data source
const mariadbDS = new RVMariaDBDataSource();
mariadbDS.title = "My MariaDB Datasource";
mariadbDS.subtitle = "MariaDB";

// Create a data source item
const mariadbDSI = new RVMariaDBDataSourceItem(mariadbDS);
mariadbDSI.id = "mariadb_sales_data";
mariadbDSI.title = "My MariaDB Datasource Item";
mariadbDSI.subtitle = "MariaDB";

callback(new RevealDataSources([mariadbDS], [mariadbDSI], true));
};

アプリケーションが実行されたら、新しい可視化を作成すると、新しく作成された MariaDB データ ソース項目が [データ ソースの選択] ダイアログに表示されます。

エラー メッセージ

MariaDB は MySQL と互換性があるため、MariaDB に接続している場合でも、ドライバーやエラー メッセージが MySQL を参照することは一般的です。

その他のリソース

API リファレンス