Link Search Menu Expand Document

DBオープンとクローズ

このチュートリアルでは、SpeeDBee/TSを利用するためのSpeeDBee/TSの各APIについて、サンプルコードを元にいくつかの例を紹介します。
APIの詳細については、APIドキュメントを参照ください。

DB Open/Closeのサンプルコード

このチュートリアルで紹介するサンプルコードです。
サンプルコードのファイルは、こちらにあります。

Minimal Startでも紹介していますが、SpeeDBeeを利用するためには、初期化、DBオープン、DBクローズ、終了処理が必要です。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "speedbee.h"

/*
 * sample 1 DB 作成, DB オープン/クローズ
 */
int main(int ac, char *av[]) {
	sdtsdb_t db;

	if (sd_init(NULL) < 0) {
		printf("error sd_init [%d]\n", sd_get_err());
		return 1;
	}
	printf("-- success sd_init --\n");

	if ((db = sdts_open_db(NULL)) == NULL) {
		printf("error sdts_open_db [%d]\n", sd_get_err());
		sd_end();
		return 1;
	}
	printf("-- success sdts_open_db --\n");

	if (sdts_close_db(db) < 0) {
		printf("error sdts_close_db [%d]\n", sd_get_err());
		sd_end();
		return 1;
	}
	printf("-- success sdts_close_db --\n");

	if (sd_end() < 0) {
		printf("error sd_end [%d]\n", sd_get_err());
		return 1;
	}
	printf("-- success sd_end --\n");

	return 0;
}

API利用のための初期化と終了処理について

  • sd_init
    SpeeDBeeではAPI利用のための初期化処理が必要です。

  • sd_end
    APIのインターフェース終了処理を行います。

DBのオープン(作成)

メモリDBの作成

DBオープン時に、DBパラメータのDB_PATHを設定すると永続化DBになります。
メモリオンリーのDBにする場合は、DB_PATHを指定しないようにします。

if ((db = sdts_open_db(NULL)) == NULL) {
	printf("error sdts_open_db [%d]\n", sd_get_err());
	sd_end();
	return 1;
}

ファイルDBのオープン

永続化したDBを作成、またはオープンする場合には、sdts_open_dbのAPIでDB_PATHを指定します。

if ((db = sdts_open_db("DB_PATH=" DBDIR)) == NULL) {
	printf("error sdts_open_db [%d]\n", sd_get_err());
	sd_end();
	return 1;
}

DBのクローズ

永続化DBの場合、同期されていないデータを同期して終了します。 メモリDBの場合、DB上のデータは破棄されます。

  • 留意事項
    DBクローズ時には、他プロセス及びタスクがDBにアクセスしていないことを確認してからクローズ処理を実行してください。

PrevionsNext


Back to top

Copyright © 2020 SALTYSTER Inc. All rights reserved.

Page last modified: Jul 13 2020 at 12:00 PM.