Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere 嵌入式 SQL » SQL 通信区域 (SQLCA) » 使用多个 SQLCA

 

何时使用多个 SQLCA

您可以在任一受支持的嵌入式 SQL 环境中使用多个 SQLCA 支持,但仅在重入代码中要求这样做。

下面的列表详细说明必须使用多个 SQLCA 的环境:

  • 多线程应用程序   每个线程都必须具有自己的 SQLCA。当 DLL 使用嵌入式 SQL 且被应用程序中的多个线程调用时,也必须如此。

  • 动态链接库和共享库   DLL 只有一个数据段。数据库服务器在处理一个应用程序发出的请求时,也可能会优先处理另一个应用程序向该数据库服务器发出的请求。如果您的 DLL 使用全局 SQLCA,则这两个应用程序会同时使用它。每个 Windows 应用程序都必须具有自己的 SQLCA。

  • 具有一个数据段的 DLL   可以将 DLL 创建为只有一个数据段,或者对于每个应用程序有一个数据段。如果您的 DLL 只有一个数据段,则无法使用全局 SQLCA,其原因与 DLL 无法使用全局 SQLCA 的原因相同。每个应用程序必须具有自己的 SQLCA。