以服务器方式运行 Db2 for i CLI
以 SQL Server 方式运行的原因是许多应用程序需要充当数据库服务器。 这意味着单个作业代表多个用户执行 SQL 请求。
如果不使用 SQL Server 方式,应用程序可能会迂到以下一个或多个限制:
- 单个作业每个激活组只能有一个落实事务。
- 单个作业只能连接到关系数据库 (RDB) 一次。
- 所有 SQL 语句都在作业的用户概要文件下运行,而不考虑在连接上传递的用户标识。
SQL Server 方式通过将所有 SQL 语句路由到不同的作业来规避这些限制。 每个连接都在其自己的作业中运行。 系统使用 QSYSWRK 子系统或所选子系统中名为 QSQSRVR 的预启动作业来最小化每个连接的启动时间。 由于对 SQLConnect()
的每个调用都可以接受不同的用户概要文件,因此每个作业也有自己的落实事务。 一旦执行了 SQLDisconnect()
,就会重置该作业并将其放回到可用作业池中。