在特定AS400子系统中打开JDBC连接

在特定AS400子系统中打开JDBC连接,jdbc,ibm-midrange,jtopen,Jdbc,Ibm Midrange,Jtopen,我有一个web服务,它通过JTOpen调用AS400上的一些存储过程 我想做的是,用于调用存储过程的连接是在具有特定用户的特定子系统中打开的,而不是现在(默认)的qusrwrk/quser 我想我可以克隆qusrwrk子系统,让它从一个特定的用户开始,但我不知道在特定的子系统中打开连接的机制 我想在连接级别应该有一个属性,即subsystem=MySubsystem 但不幸的是,我还没有找到那份财产 任何暗示都将不胜感激 Flavio让系统负责启动作业数据库服务器作业的子系统 您应该只关注应用程

我有一个web服务,它通过JTOpen调用AS400上的一些存储过程

我想做的是,用于调用存储过程的连接是在具有特定用户的特定子系统中打开的,而不是现在(默认)的qusrwrk/quser

我想我可以克隆qusrwrk子系统,让它从一个特定的用户开始,但我不知道在特定的子系统中打开连接的机制

我想在连接级别应该有一个属性,即subsystem=MySubsystem

但不幸的是,我还没有找到那份财产

任何暗示都将不胜感激


Flavio

让系统负责启动作业数据库服务器作业的子系统

您应该只关注应用程序(这是IBMi擅长的)


如果需要,您可以调整QUSRWRK的子系统参数,通过分配内存等来提高性能。

系统使用一个预启动作业池,如中所述

为了提高性能,主机服务器作业是在QUSER下运行的预启动作业。当工具箱连接到主机服务器作业以执行API调用、运行命令等时,将从工具箱向可用的预启动作业发送请求。此请求包括在表示连接的AS400对象上指定的用户配置文件。主机服务器作业接收请求并在运行请求之前交换到指定的用户配置文件。主机服务器本身最初在QUSER配置文件下运行,因此WRKACTJOB命令的输出将显示该作业为QUSER所有。但是,作业实际上是在请求中指定的配置文件下运行的。要确定用于任何给定主机服务器作业的配置文件,可以执行以下三项操作之一:


为什么您关心哪个子系统?您希望通过该因素实现什么?用户配置文件和密码很容易指定,但工作管理是一个不同的问题,这是一组不同的问题。当我启动连接时,如果我指定了我的用户,as400作业始终为默认用户quser启动。我的主要目标是让我自己的用户开始工作。我在IBM网站上找到了一些文档,似乎改变这种行为的唯一方法就是启动我自己的子系统;这里可以指定我想要的默认用户。服务器作业会将配置文件从QUSER切换到您的用户。实际上,它已经在你的用户下运行了。好吧,我在程序中看到的是,用户是从程序状态数据结构(SDS)中检索出来的,并且总是QUSER。无论哪个用户打开了JDBC连接。老实说,如果我查看活动作业列表,我会在QUSRWRK子系统下看到作业QZDASOINIT,当前用户为开放连接用户。嗯,也许我可以找到两个用户(工作和当前),但我用错了。事实上,SDS中有2个用户:用户配置文件中的254/263用户名和当前用户配置文件中的358/367用户名。我使用第一个,可能我需要使用第二个。使用SDS中的当前用户名。。。尽管请记住,如果您的应用程序切换用户句柄本身,则不会更新。
1. Display the job log for that job and find the message indicating which user profile is used as a result of the swap.
2. Work with the job and display job status attributes to view the current user profile.
3. Use Navigator for i to view all of the server jobs, which will list the current user of each job. You can also use Navigator for i to look at the server jobs being used by a particular user.