Net.Data 提供了一个称为“现场连接”的组件来管理数据库和 Java 虚拟机连接。“现场连接”维护持久连接,以改进性能。有些 Net.Data 的操作需要很长的启动时间。例如,一个进程在发出数据库查询之前,必须先向 DBMS 标识它自己并连接到数据库。这段时间通常在访问数据库的 Net.Data 宏所需的进程时间中占很大部分。由于 CGI 程序操作的方式,在每次请求 Web 服务器时都需要耗费这些启动时间。Net.Data 对 OS/2、Windows NT、AIX、Solaris 和 Linux 操作系统提供了“现场连接”并维护持久连接。
“现场连接”通过避免启动时的系统开销极大地改进了性能。这些节省来自于连续运行一个或多个执行启动功能的进程。然后,这些进程将等待服务请求。如果将 Net.Data 用作 CGI 或 FastCGI 程序,或者用作 Web 服务器 API 插件,那么您可以运行“现场连接”。
“现场连接”由“连接管理器”和 cliette 组成。Cliette 是“连接管理器”所启动的一些进程,它们在服务器运行期间保持活动状态。Cliette 处理数据并与您在初始化文件中用 CLIETTE 关键字指定的 Net.Data 语言环境通信。每种类型的 cliette 处理一个特定的语言环境函数,例如 DB2 cliette,它连接到 DB2 数据库并建立在 Net.Data 处理任何 Net.Data 宏之前执行 SQL 调用的操作。 这个可执行文件是在“现场连接”配置文件中命名的,称为 dtwcm.cnf。图 25显示了“现场连接”、宏以及语言环境之间的交互作用。
![]() |
以下章节更详细地描述了“现场连接”。要学习如何配置“现场连接”,参见配置“现场连接”。
使用“现场连接”的主要优点是:
重新使用连接要比建立新的连接有效得多。通常,如果您请求小的 SQL 语句(例如,对少于 100000 行的数据库的简单查询),或者如果您的数据库连接很困难(例如,远程服务器),那么连接的时间会占很大比重。
“现场连接”允许一个 Net.Data 宏同时连接到多个数据库。这一点是可能的,因为每个数据库都有唯一的 cliette,因此 Net.Data 只需和多个 cliette 通信即可。
可通过 CGI、FastCGI 或 API 方式使用“现场连接”,以与数据库或“Java 虚拟机”通信。另外,如果应用程序需要来自多个数据库的数据,您还可以从“现场连接”受益。
“现场连接”和 API 插件一起使用,可以改进许多系统的性能(取决于系统的负载和配置)。您应当在自己的系统上试验一下,确定哪一个配置是最佳的。
使用 ACTIVATE DATABASE 命令可节省建立数据库连接的时间,因此许多应用程序不必使用“现场连接”就可改进性能。参见数据库的文档,以获取有关您的数据库所使用的命令的详细信息。还请检查一下您的操作系统文档, 查看是否有其他能够帮助改进性能的步骤。
要求:在 FastCGI 和 API 方式中运行时,ODBC 和 Oracle 语言环境需要“现场连接”。
“连接管理器”是与 Net.Data 一起交付的一个独立的可执行文件,名为 dtwcm。在启动 Web 服务器时启动“连接管理器”。
启动“连接管理器”时,它将读取配置文件并启动一组进程。在每个进程中,“连接管理器”都开始执行一个特定的 cliette。要学习如何配置“现场连接”,参见配置“现场连接”。
要在 Windows NT 和 OS/2 中启动“连接管理器”:
其中 <inst_dir> 是 Net.Data 的安装目录。
要在 AIX 中启动“连接管理器”:
要启动带消息选项的“连接管理器”:
缺省情况下,“连接管理器”的消息是关闭的。如果您希望显示“连接管理器”的消息,可以在启动“连接管理器”时使用 -d 选项。
从命令行输入:dtwcm -d
使用 -d 选项之后,要想再次关闭消息,就必须重新启动“连接管理器”。
要自动将“连接管理器”作为 Windows NT 服务启动:
在 Windows NT 上,您可以指定将“连接管理器”作为 Windows NT 的服务启动,而不是从命令行启动。将“连接管理器”作为 Windows NT 服务运行可以使“连接管理器”在每次启动机器时自动启动。
提示:在将“连接管理器”设置为自动启动之前,先从命令行启动,以确保“现场连接”配置文件是正确的。
注意: | 缺省情况下,记录是关闭的。要打开记录,从“服务”窗口选择“Net.Data 现场连接”,并在“启动参数”框中输入 -l。 |
在配置并启动了数据库、Web 服务器以及“连接管理器”之后,Net.Data 处理一般将在启用了“现场连接”的情况下涉及以下步骤:
如果初始化文件中指定了一个 cliette,但“连接管理器”没有运行,Net.Data 将装入 DLL 并处理该宏。如果使用 API,那么很可能会接收到错误,这时就应启动“连接管理器”。