Ultra Light 8.0 には、次の新機能が導入されています。
ユーザの認証 これまでのリリースでは、Ultra Light データベースには、アクセスを管理するためのユーザ認証メカニズムがありませんでした。今回のリリースには、ユーザ認証メカニズムが組み込まれています。多くのリレーショナル・データベース管理システムのユーザ ID とは異なり、Ultra Light のユーザ ID は、テーブルやその他のデータベース・オブジェクトの所有権を意味しません。
データベースの暗号化 データベースを暗号化することで、データのセキュリティを強化することができます。以下の 2 つの方法があります。
強力な暗号化 強力な暗号化アルゴリズムを使用してデータベースを暗号化すると、最高レベルのセキュリティを得ることができます。このセキュリティには、パフォーマンスの低下が伴います。この暗号化は、キーを使用するものであり、AES 128 ビット・アルゴリズムを使用しています。
データベースの難読化 (Obfuscation) データベースを読みにくくすることで、データのセキュリティを強化することができます。難読化しない場合、16 進数エディタなどのツールを使ってデータベース内のデータを表示できます。難読化は、データを表示しようとする程度の軽い不正アクセスは防げますが、強力な暗号化のような厳重な保護は行いません。難読化では、強力な暗号化に伴うパフォーマンスの低下は発生しません。
詳細については、Ultra Light データベースの保護を参照してください。
Ultra Light Java アプリケーションの安全な同期 Certicom トランスポート・レイヤ・セキュリティを使用した安全な同期は、これまでは C/C++ の Ultra Light アプリケーションでのみ行えました。今回のリリースでは、Ultra Light Java アプリケーションでも行えるようになりました。
ActiveSync 同期 Windows CE デバイス上で動作する Ultra Light アプリケーションは、ActiveSync を使用して同期させることができます。
詳細については、アプリケーションへの ActiveSync 同期の追加を参照してください。
同期の柔軟性の向上 同期させるデータをさらに効率よく柔軟に選択できるようにする新機能がいくつか追加されました。
パブリケーションを使用すると、データを複数のセットに分割し、セットごとに別々に同期させることができます。処理速度が遅い接続リンクなどでは、これによって時間が重要なデータを効率的に同期でき、時間が重要ではない他のデータは都合のよいときに同期できます。
ダウンロード専用同期を使用すると、読み込み専用テーブルを Ultra Light データベースに追加して、それらを効率的に同期できます。
テーブル内のデータが変更されているか否かに関係なく、毎回同期するようにテーブルをマークできます。この機能を使用すると、同期を制御する Ultra Light クライアント上のユーザ設定情報を管理できます。
グローバル・オートインクリメントのデフォルト・カラム値 この機能を使って、同期中のデータベース内のプライマリ・キーの一意性を簡単に管理できます。
詳細については、オートインクリメント・カラムの分割サイズの上書きを参照してください。
Ultra Light ジェネレータの制御の追加 ulgen と sqlpp 実行プログラム用のコマンド・ライン・オプションが追加されました。
スクリプトのバージョン 生成された同期スクリプトに、スクリプトのバージョンを関連付けることができます。
ログ・クエリ実行プラン 生成されたクエリのクエリ実行プランをエクスポートし、Interactive SQL で表示できます。
エラー・レポート ul_synch_info 構造体の stream_error フィールドを使って、同期エラーの原因を判断できます。
詳細については、Stream Error 同期パラメータを参照してください。
既存のデータベースの再使用 Ultra Light のこれまでのリリースでは、データベース・アプリケーションが変更された場合は、データベースを再構築して同期させる必要がありました。今回のリリースより、データベースのスキーマが変更されないかぎり、新バージョンのアプリケーションで Ultra Light データベースを続けて使用できるようになりました。クエリを変更した場合は、そのクエリが新しいカラムを参照することで、生成済みのデータベースのスキーマが変更されないかぎり、新しいデータベースを必要としません。
データベースの断片化解除 Ultra Light の記憶領域は、空き領域を効率的に再使用するように設計されているので、通常の状況では明示的な断片化解除を必要としません。領域要件が極端に厳しいアプリケーションのために、明示的な断片化解除機能が用意されています。
ページ・サイズの選択 デフォルトの 4 KB ページに代わって 2 KB ページ・サイズを選択できます。
CodeWarrior 7 のサポート Ultra Light plug-in for CodeWarrior は、CodeWarrior バージョン 7 をサポートするようになりました。
eMbedded Visual C++ このツールを使用した開発がサポートされ、CustDB サンプル・アプリケーション用の eMbedded Visual C++ プロジェクトが用意されました。
Palm OS 4.0 とファイル・ベースのデータ記憶装置 Ultra Light は Palm Computing Platform のバージョン 4.0 をサポートします。Palm ではバージョン 4.0 以降、さまざまな補助記憶装置スキームが導入されています。Palm 4.0 デバイスの拡張カードではファイル・ベースの Ultra Light データ・ストアを使用できます。
Palm Computing Platform の同期機能の向上 Palm Computing Platform の HotSync と ScoutSync による同期には、新しい簡略化された同期メカニズムが導入されています。新しい同期メカニズムには、これまでの同期メカニズムと比べて次のような長所があります。
起動と終了が速い。
同期の実行時に Palm デバイス上に追加の記憶装置が不要。
アプリケーションを複数回同期でき、そのたびに起動する必要がない。
ストリーム・パラメータの指定が不要。
ULPalmDBStream 関数と ULConduitStream 関数は廃止される予定です。
詳細については、Palm アプリケーションへの HotSync 同期の追加を参照してください。
Palm Computing Platform での配備の簡略化 Ultra Light データベースの初期コピーをエンド・ユーザに配備できるので、最初の同期操作でユーザごとにデータの初期コピーをダウンロードする必要がありません。
詳細については、Palm アプリケーションの配備を参照してください。
Palm セグメントの処理方法の向上 Palm Computing Platform 用のアプリケーションを開発するときは、限定されたサイズのセグメントにアプリケーション・コードを分割する必要があります。
このソフトウェアの以前のバージョンのセグメンテーション方法では、ユーザは Ultra Light で生成されるコードのセグメンテーションを制御できず、割り当てられるセグメントが多くなりすぎる傾向がありました (これはパフォーマンスの低下を招きます)。新しいメカニズムでは、生成されるセグメントの数が減少するとともに、ユーザがセグメントの割り当てを制御できます。
Embedded SQL の LONG 値 DECL_LONGVARCHAR と DECL_LONGBINARY を使用して、LONG 値 (32 KB から 64 KB の間) にホスト変数を使用できます。
リファレンス・データベースでのアナライザのフック Ultra Light ジェネレータは、分析処理の前後にストアド・プロシージャを呼び出すようになりました。
実行プラン情報 Ultra Light ジェネレータで、Ultra Light アプリケーションでのクエリに使用されるアクセス・プランを出力できるようになりました。また、Interactive SQL から Ultra Light に使用される実行プランを表示することもできます。
スクリプトのバージョン制御 Ultra Light ジェネレータのコマンド・ラインで同期に使用されるスクリプト・バージョンを指定できます。
SQL と API 機能の追加 Ultra Light アプリケーションに対して、次の機能を使用できるようになりました。
@@identity のサポート Ultra Light で @@identity グローバル変数がサポートされるようになりました。この機能は、グローバル・オートインクリメントのデフォルト・カラム値に関連して使用できます。C++ API では、ULConnection::GetLastIdentity() メソッドを使用します。
テーブル内のローの数 ULTable::GetRowCount() メソッドを使用すると、C++ API プログラミング・インタフェースからテーブル内のローの数を判断できます。Embedded SQL ユーザは、引き続き SELECT COUNT(*) FROM table-name 文を使用します。
テーブル内のすべてのローの削除 ULTable::DeleteAllRows() メソッドを使用すると、C++ API プログラミング・インタフェースからテーブル内のすべてのローを削除できます。Embedded SQL ユーザは、引き続き DELETE FROM table-name 文を使用します。
影響を受けたローの数 Eembedded SQL から SQLCOUNT マクロを使用して、最新の INSERT、UPDATE、または DELETE 文によって影響を受けたローの数を調べることができます。
アップロードされるローの数 同期する必要があるローの数を調べることができます。
詳細については、ULCountUploadRows 関数を参照してください。
最終ダウンロード時間 Ultra Light アプリケーションから前回パブリケーションをダウンロードした時間を取得できます。
詳細については、ULGetLastDownloadTime 関数を参照してください。
カーソル処理の追加 C++ API の ULTable クラスに、結果セット内のローを検索するためのメソッド (FindFirst、FindNext、FindPrevious、FindLast) が追加されました。
DUMMY システム・テーブルからのクエリ SELECT ...FROM DUMMY 形式のクエリがサポートされるようになりました。
複数テーブルの更新 複数のテーブルに対するカーソルによって、複数のテーブルを修正する更新を受け付けることができるようになりました。
Embedded SQL での LONG データ型の処理の向上 DECL_LONGVARCHAR と DECL_LONGBINARY ホスト変数型を使用すると、1 回の操作で 32 KB を超えるデータを送信または検索ができます。
詳細については、Embedded SQL のデータ型を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |