パススルー SQL の利用
メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
パススルー SQL を使ってリモートデータベースサーバーに SQL トランザクション制御文を直接送信するには、TQuery、TStoredProc、TUpdateSQL のいずれかのコンポーネントを使用します。BDE は SQL 文を処理しません。パススルー SQL を使用すると、サーバーのトランザクション制御が標準的でない場合は特に、それらのトランザクション制御の利点を直接利用できます。
トランザクションを制御するためにパススルー SQL を使用するための必要条件を以下に示します。
- 適切な SQL Link ドライバをインストールします。「デフォルト」インストールを選択して Delphi をインストールした場合、すべての SQL Link ドライバがすでに正しくインストールされています。
- ネットワークプロトコルを設定します。詳細については、ネットワーク管理者に問い合わせてください。
- リモートサーバーのデータベースにアクセスします。
- SQL エクスプローラを使って SQLPASSTHRUMODE を NOT SHARED に設定します。SQLPASSTHRUMODE には、BDE とパススルー SQL 文が同一のデータベース接続を共有できるかどうかを指定します。ほとんどの場合、SQLPASSTHRUMODE は SHARED AUTOCOMMIT に設定されます。ただし、トランザクション制御文を使用するときはデータベース接続を共用できません。
メモ: SQLPASSTHRUMODE が NOT SHARED の場合は、SQL トランザクション文をサーバーに渡すデータセットと、渡さないデータセットに、それぞれ別のデータベースコンポーネントを使用しなければなりません。