Ultra Light アプリケーションをデータベースに接続しないと、データを操作できません。この項では、Ultra Light データベースに接続するための方法について説明します。
サンプル・コードは、samples-dir\UltraLite\CustDB\ ディレクトリにあります。
コミット動作 Ultra Light C++ API には、オートコミット・モードはありません。各トランザクションの後には Conn->Commit() 文を指定します。トランザクションの管理を参照してください。
ユーザ認証 接続許可の付与と取り消しを行うメソッドを使用すると、アプリケーションのユーザ ID とパスワードを (それぞれデフォルト値である DBA と sql から) 別の値に変更できます。各データベースは、最大 4 つのユーザ ID を保持できます。ユーザの認証を参照してください。
同期 Connection オブジェクトのメソッドを使用すると、Ultra Light を統合データベースと同期できます。データの同期を参照してください。
テーブル Ultra Light データベース・テーブルには、Connection オブジェクトのメソッドを使用してアクセスします。テーブル API を使用したデータへのアクセスを参照してください。
準備文 SQL 文の実行を処理するメソッドが提供されます。SQL を使用したデータへのアクセスとUltraLite_PreparedStatement クラスを参照してください。
Ultra Light ネームスペースを使用します。
Ultra Light ネームスペースを使用すると、C++ インタフェースでクラスの省略名を使用できます。
using namespace UltraLite; |
DatabaseManager オブジェクトと ULSqlca (Ultra Light SQL Communications Area) を作成し、初期化します。ULSqlca は、アプリケーションとデータベースの間の通信を処理する構造体です。
DatabaseManager オブジェクトは、オブジェクト階層のルートにあります。DatabaseManager オブジェクトは、1 つのアプリケーションに 1 つだけ作成します。多くの場合、DatabaseManager オブジェクトは、アプリケーションに対してグローバルに宣言するのが最も効果的です。
ULSqlca sqlca; sqlca.Initialize(); DatabaseManager * dbMgr = ULInitDatabaseManager(sqlca); |
アプリケーションで SQL サポートが必要でなく、かつ Ultra Light ランタイムに直接リンクする場合、アプリケーションでは ULInitDatabaseManagerNoSQL を呼び出して ULSqlca を初期化できます。この方法を使用すると、アプリケーションのサイズを小さくできます。
UltraLite_DatabaseManager_iface クラスを参照してください。
既存のデータベースへの接続を開きます。または、指定のデータベース・ファイルが存在しない場合は、新しいデータベースを作成します。OpenConnection 関数を参照してください。
Ultra Light アプリケーションは空の初期データベースで配備することができます。また、Ultra Light データベースがまだ存在しない場合は、アプリケーションでデータベースを作成することもできます。初期データベースを配備するのが最も簡単なソリューションです。それ以外の場合は、アプリケーションで ULCreateDatabase 関数を呼び出してデータベースを作成したり、アプリケーションで必要なすべてのテーブルを作成したりする必要があります。ULCreateDatabase 関数を参照してください。
Connection * conn = dbMgr->OpenConnection( sqlca, UL_TEXT("dbf=mydb.udb") ); if( sqlca.GetSQLCode() == SQLE_ULTRALITE_DATABASE_NOT_FOUND ) { printf( "Open failed with sql code: %d.\n" , sqlca.GetSQLCode() ); } } |
各接続と、それを基に作成されるすべてのオブジェクトは、単一のスレッドで使用してください。アプリケーションが Ultra Light データベースにアクセスするのに複数のスレッドを必要とする場合は、スレッドごとに個別の接続が必要です。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |