開発者向けクイック スタート
 
このページをシェアする                  
開発者向けクイック スタート
Pervasive PSQL ソフトウェア開発キット(SDK)は、2 つのデータベース ソリューションのそれぞれの長所を提供します。トランザクショナル インターフェイスは高速データ トランザクションを提供し、また、リレーショナル インターフェイスは同じデータに対する完全機能型リレーショナル データ アクセスを提供し、報告および意思決定支援におけるパフォーマンスを向上させます。
この章では、以降で説明するアプリケーションの構築を Pervasive PSQL で容易に行えるようにするためのヒントを示します。
アクセス方法の選択
データベース接続のクイック リファレンス
アプリケーション開発のためのその他のリソース
アクセス方法の選択
開発戦略の選択肢には多くの要因が影響します。各種プラットフォーム上でツールを使用できるか、開発者が所定のプログラミング環境をよく理解しているか、また移植可能であるか、といった条件は、多くの場合、このプロセスにおいて決定的な役割を果たします。また一方で、開発者が柔軟性を持ち合わせている場合は、多方面の繊細な要因を考慮する必要があります。
パフォーマンスは常に考慮の対象になります。ただし、実行時のパフォーマンスと開発期間とのバランスをとらなければなりません。すなわち、プログラムを短期間で完成するのと、使用時に短時間で実行できるようにするのとではどちらがより重要であるかということです。
データベース プログラミングでは、データベースのインターフェイスは、開発期間と実行時のパフォーマンスの両方に影響を与えます。多くの場合、SQL と Btrieve のどちらを選択するかはこれらの要因だけに基づきます。
Pervasive PSQL 製品を初めて使う場合、ADO NET/OLE DB、ActiveX コントロール、JDBC、Pervasive Direct Access Components for Delphi and C++ Builder、その他のサードパーティ開発ツールなどのアクセス方法を使用して Pervasive PSQL アプリケーションを開発することができます。
Btrieve API に直接書き込みを行う場合は、Btrieve API プログラミングを参照してください。この章では、いくつかのプログラミング言語でヒントとコード サンプルを示します。
1 では、さまざまな Pervasive PSQL のアクセス方法を比較しています。
 
表 1 アプリケーション プログラミングのアクセス方法の比較
アクセス方法
特性
適応項目
Btrieve API
ほとんどの Windows プログラミング言語から DLL を呼び出し可能。
データベースの完全な機能セットを公開。
最小サイズ。
最大の柔軟性。
アプリケーションとデータの間の最短コード パス。
リレーショナル データベース管理システムにおける最小のコード オーバーヘッド。(ただし、データベース管理専用のアプリケーション コード数を増やす必要があります。)
クライアント/サーバー機能。
BLOB サポート。
サイズまたは実行時のパフォーマンスを重視するアプリケーション。
Java
シン クライアント。
プラットフォーム間の移植可能性。
インターネットまたはイントラネットの能力。
Winsock プロトコルと JNI プロトコルをサポート。
マシンと OS の独立性。インターネットと Web の能力。
最小サイズ。
優れた柔軟性。
インターフェイスに実装されている行セット、フィールドの抽象化。
総合的なパフォーマンス。Java は、コードのオーバーヘッドの大きなインタプリタ言語です。
クライアント/サーバー機能、言語に固有のバージョン管理。
Web アプレット。
インターネットベース アプリケーション。
各種ハードウェアおよび OS プラットフォームで実行しなければならないアプリケーション。
ADO/OLE DB
Visual Studio との優れた統合。
トランザクショナル、リレーショナルのいずれの状況でも動作。
インターネットまたはイントラネットに適応。
行セット、フィールドの抽象化。
Visual Studio を使用したアプリケーション開発。
ADO.NET
優れた総合的パフォーマンス。
インターネットの能力。
XML サポート。
効率的なスケーラブル アーキテクチャ。
実行時間が最重要である、管理された環境で実行するアプリケーション。
ActiveX
Visual Basic ネイティブ インターフェイス。
ほとんどの Windows プログラミング環境でサポート。
優れた柔軟性。
優れた総合的パフォーマンス。
インターネットの能力。
行セット、フィールドの抽象化。
Extended オペレーション、テーブル結合機能。
クライアント/サーバー機能。
実行時のパフォーマンスとコーディングのしやすさとのバランスが重要なアプリケーション。
ダウンロード時のフットプリントが最小であることや、Java のマシン非依存性は必要としないが、インターネット上のデータへのアクセスを必要とするアプリケーション。
SQL/ODBC
データベースの実装からアプリケーション インターフェイスを抽象化。
ほとんどのプログラミング言語、多数のアプリケーションがサポート。
リレーショナル アクセスのみ。
ラージ。一般的にネイティブ DBMS API への直接インターフェイスより低速。アプリケーションに「汎用」インターフェイスを提供。
完全なリレーショナル インプリメンテーション。
ネイティブ機能のサブセット。
ほとんどすべての Windows プログラミング環境と多数の市販のアプリケーションでサポートされる標準インターフェイス。
さまざまなデータ ストアへの異種アクセスを必要とするアプリケーション、または特定のデータ ストアに依存しないアプリケーション。
リレーショナル データ ストアの保守を重視するが、なおかつ、実行時のパフォーマンスが重要であるアプリケーション。
Pervasive Direct Access Components
Delphi および C++ Builder の Embarcadero Database Engine に取って代わる。
トランザクショナルまたはリレーショナル コンテキストからデータにアクセスするクラス。
Embarcadero IDE を使用したアプリケーション開発。
データベース接続のクイック リファレンス
このセクションでは、Pervasive PSQL データベースへの接続方法に関する情報を提供します。
これらの例は、各アクセス方法の完全なドキュメントを補足するだけのものです。各アクセス方法には、詳細情報へのリンクがあります。
各サンプルは、Pervasive PSQL に含まれる DEMODATA サンプル データベースの Course テーブルを参照します。
ADO.NET 接続
ADO/OLE DB 接続
JDBC 接続
Java クラス ライブラリ
DSN を使用しない接続
ADO.NET 接続
ADO.NET の詳細については、以下を参照してください。
Pervasive Data Provider for .NET Guide and Reference』のデータ プロバイダーの使用
サンプルのヘッダーとファイル(ADO.NET のサンプルとヘッダー ファイルの Web ダウンロード)をインストールした場合に提供されるコード例。
ADO.NET DB 接続のサンプル コード
"ServerDSN=Demodata;UID=test;PWD=test;ServerName=localhost;";
ADO/OLE DB 接続
ADO/OLE DB の詳細については、以下を参照してください。
OLE DB プロバイダーの概要
Pervasive OLE DB プロバイダーによるプログラミング
ADO/OLE DB 接続のサンプル コード
Dim rs As New ADODB.Recordset
rs.Open "Course", "Provider=PervasiveOLEDB;Data
Source=DEMODATA", adOpenDynamic,
adLockOptimistic, adCmdTableDirect
 
' データを使用した処理
 
rs.Close
JDBC 接続
JDBC の詳細については、以下を参照してください。
Pervasive JDBC ドライバーの概要
Pervasive JDBC 2 ドライバーを使用したプログラミング
JDBC 接続のサンプル コード
Class.forName("com.pervasive.jdbc.v2.Driver");
Connection con = DriverManager.getConnection("jdbc:pervasive://localhost:1583/DEMODATA");
PreparedStatement stmt = con.prepareStatement("SELECT * FROM Course ORDER BY Name");
ResultSet rs = stmt.executeQuery();
Java クラス ライブラリ
Java クラス ライブラリの詳細については、以下を参照してください。
Pervasive Java インターフェイスの概要
Java クラス ライブラリを使ったプログラミング
JCL 接続文字列のサンプル
Session session = Driver.establishSession();
Database db = session.connectToDatabase();
db.setDictionaryLoc("c:\\PVSW\\DEMODATA");
DSN を使用しない接続
Pervasive PSQL により、アプリケーションは DSN を使用しない接続(DSN を使用しないで SQL エンジンに接続する)を実行することができます。
サーバーでローカルに実行、またはリモート クライアントから実行するには、次の手順が必要です。この方法は、ワークステーション/ワークグループ エンジンだけでなく、サーバー エンジンでも機能します。
1 SQLAllocEnv
2 SQLAllocConnect
3 SQLDriverConnect:"Driver={Pervasive ODBC Client Interface};ServerName=<解決するサーバー名>;dbq=@<サーバー側の DBName>;"
Driver={Pervasive ODBC Client Interface};ServerName=myserver;dbq=@DEMODATA;
メモ: Pervasive.SQL 2000(SP3)より前のリリースでは、DSN を使用しない接続は、エンジンに対しローカルに実行されるアプリケーション(つまり、エンジンが実行されているのと同一マシン上で実行)でのみサポートされていました。しかし、ドライバー文字列の形式が Pervasive.SQL 2000i(SP3)から変更されました。DSN を使用しない接続を行うアプリケーションは、Pervasive.SQL 2000(SP2a)以前が適用された環境で DSN なしで実行するには、すべて上記のように変更し、再コンパイルする必要があります。
ODBC 情報
Pervasive ODBC インターフェイスの機能および制限事項については、『SQL Engine Reference』で説明します。このマニュアルは、Pervasive PSQL サーバーおよびワークグループ製品に付属しています。
ODBC の詳細については、『SQL Engine Reference』の ODBC エンジン リファレンスを参照してください。
サポートされる SQL 構文については、『SQL Engine Reference』の SQL 構文リファレンスを参照してください。
その他の SQL アクセス方法
ADO/OLEDB
ADO/OLE DB のプログラミング情報については、『OLE DB Provider Guide』を参照してください。
JDBC
SQL エンジンの JDBC プログラミングについては、『JDBC Driver Guide』を参照してください。
Pervasive JDBC ドライバーの概要
Pervasive JDBC 2 ドライバーを使用したプログラミング
PDAC
Pervasive Direct Access Components は Delphi および C++ Builder アプリケーションに使用します。詳細については、『Pervasive Direct Access Components Guide』で以下のトピックを参照してください。
Direct Access Components の使用方法
Direct Access Components リファレンス
アプリケーション開発のためのその他のリソース
このセクションでは、Pervasive PSQL の概念をより深く理解するための情報を提供します。
概念情報
このマニュアルでは、Pervasive PSQL データベースへのトランザクショナル(Btrieve)インターフェイスとリレーショナル(SQL)インターフェイスの両方の概念について説明します。
リファレンス情報
開発者のためのリファレンス情報は、さまざまなソフトウェア開発キット(SDK)のマニュアルに含まれています。データベース エンジンと同時にインストール可能な Eclipse ヘルプでは、「開発者リファレンス」カテゴリを参照してください。
サンプル コード
SDK コンポーネントのインストール場所には、サンプル アプリケーションが保存されています。以下のようなサンプルが含まれています。
ADO/OLE DB プログラミング(Visual Basic または Visual C++ を使用)
Pervasive Direct Access Components(Delphi と C++ Builder を使用)
Java プログラミング(Pervasive Java クラス ライブラリまたは JDBC を使用)
Distributed Tuning Interface(Visual C++ または Delphi 用)
Distributed Tuning Objects(Visual Basic 用)