Direct Oracle Accessの概要
紹介記事はこちら
です
概要
- WindowsおよびLinux 上のクライアントソフトウェアから、OracleのネイティブAPIであるOCIを直接利用できます
- DBクライアント開発に最適なRAD環境であるDelphiから、OCIの機能をフルに利用可能です
対応環境
こちら
をご覧下さい
Delphi体験版および、Personal版ではご利用いただけません。
アプリケーション導入
- DOAは、Borland Database Engine を一切必要としないため、各クライアントマシンへのBDEのインストールや、データベースエリアスの作成が不要になります
- DOAのライブラリは、ターゲットアプリケーションの実行形式ファイル(*.EXEファイル)に静的にリンク可能。アプリケーションの配布は、簡単なアプリケーションの場合、実行形式ファイル一つだけで済みます。
Oracleの機能をフル活用
- アプリケーションプログラムから、PL/SQLブロックをサーバに渡して実行可能。SQL*Plusで出来ることは、ほとんど何でもアプリケーションから出来ます
- SELECT文の結果およびPL/SQLプロシージャの返すカーソルを、Delphi標準のTDataSetとしてアクセス可能。DBGridや、DBEditなどのデータベース対応コントロールをフルに活用できます
- Oracle8で導入されたCLOB/BLOB/BFile型を完全にサポート(ただし、TDataSet互換モードでは大きく制限が課せられます)
- Oracle制約のチェック結果をユーザに判りやすいメッセージに翻訳できます
- Oracleの標準パッケージ(dbms_output, dbms_alert, dbms_job ...)を利用するためのラッパークラスが利用可能
- トランザクションのCommit/Rollbackは言うまでもなく、SavePointの利用や、トランザクションのIsolation Levelの変更なども可能
- ORACLE8のObject拡張機能をTOracleObjectクラスと、TOracleReferenceクラスを通じて利用可能(Object Versionのみ)
- 新規挿入レコードのキー値をOracleシーケンスから自動取得できます。Master/Detail関係にも対応。
パフォーマンス
- 直接OCIをコールするため、BDEを経由した場合に比べ、クエリ実行で最大5倍~10倍のパフォーマンスが得られます
- 複数レコードのInsert/Delete/Updateを、1回の通信で行う、Array DML 機能
- 大量データのテーブルへの挿入を高速で行う、Direct Path Loading (SQL*Loaderと同じAPIを利用)
- BDEに頼らない安定したCachedUpdates機能
導入実績
- DOAは、アメリカ、ヨーロッパを中心に1,000を越える顧客に導入されており、DelphiでOracleに接続するためのBDE Alternative(BDE代替技術)のデファクトスタンダードであるといえます
- 日本国内でも、好評のうちにすでに100以上のお客様が導入されています