複数 SQLCA のサポートは、サポートされるどの Embedded SQL 環境でも使用できますが、再入可能コードでは必須です。
複数の SQLCA を使用する必要があるのは次のような環境の場合です。
マルチスレッド・アプリケーション 各スレッドには専用の SQLCA が必要です。これは、ESQL を使用する DLL があり、アプリケーションの複数のスレッドから呼び出される場合にも発生することがあります。
ダイナミック・リンク・ライブラリと共有ライブラリ 1 つの DLL に与えられるデータ・セグメントは 1 つだけです。データベース・サーバが 1 つのアプリケーションからの要求を処理している間に、データベース・サーバに要求する別のアプリケーションに渡すことがあります。DLL がグローバル SQLCA を使用する場合は、両方のアプリケーションがその SQLCA を同時に使用します。各 Windows アプリケーションは専用の SQLCA を使用できる必要があります。
1 つのデータ・セグメントを持つ DLL DLL はデータ・セグメントを 1 つだけ持つように作成したり、アプリケーションごとに 1 つのデータ・セグメントを持つように作成したりできます。使用する DLL のデータ・セグメントが 1 つだけの場合は、1 つの DLL がグローバル SQLCA を使用することはできないという同じ理由によってグローバル SQLCA を使用することはできません。各アプリケーションには専用の SQLCA が必要です。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |