用户密码*无时的IFS文件 [英] IFSFile when user PASSWORD *NONE

查看:0
本文介绍了用户密码*无时的IFS文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试使用JT400.jar中的IFSFile对象创建IFSFile时,我遇到了一些问题。我面临的问题是,当调用Java的进程被批处理用户调用时(未启用登录AS400计算机)。

出现异常

密码为*None。语法:xxxxxx com.ibm.as400.acces.AS400SecurityException:密码为*None。示例:xxxxxx 在com.ibm.as400.access.AS400ImplRemote.returnSecurityException(AS400ImplRemote.java:2219) 在com.ibm.as400.access.CurrentUser.getUserInfo(CurrentUser.java:79) 在com.ibm.as400.access.AS400ImplRemote.getPassword(AS400ImplRemote.java:1411) 在com.ibm.as400.access.AS400ImplRemote.signon(AS400ImplRemote.java:2507) 在com.ibm.as400.access.AS400.sendSignonRequest(AS400.java:3351) 在com.ibm.as400.access.AS400.promptSignon(AS400.java:2938) 在com.ibm.as400.access.AS400.signon(AS400.java:4246) 在com.ibm.as400.access.AS400.connectService(AS400.java:1336) 在com.ibm.as400.access.IFSFile.chooseImpl(IFSFile.java:630) 在com.ibm.as400.access.IFSFile.copyTo(IFSFile.java:729) 在com.ibm.as400.access.IFSFile.copyTo(IFSFile.java:699)

使用的代码:

    AS400 as400 = new AS400("localhost");

    //Obtain the template path
    String templatePath ="/HOME/XXX/auth.txt";

    IFSFile templateAuth = new IFSFile(as400,templatePath); 
    templateAuth.copyTo(fileXML + ".xml");

我检查了一些打开的帖子,但没有得到任何结果。(在下面找到评论的帖子)

JT400 Read File From IFS with user without password

Java IFSFile on Iseries testing over PC

当批处理用户调用进程时,可以选择生成IFSFile(请注意,当启用登录的用户调用进程时,进程将按预期运行)

我需要一些类似于创建JDBCAppender时所做的操作,JDBCAppender对象允许setUser(NULL)和setPassword(NULL)使批处理用户能够写入表。

谢谢大家!

推荐答案

我最近尝试在密码为*None的配置文件下运行CommandCall时遇到了类似的问题。我(最终)通过使用本地Java工具箱(恰好是一个符号链接)解决了这个问题,该工具箱位于/QIBM/PROLDATA/Java400/jt400ntw.jar。我不需要进行任何代码更改:

    AS400 as400 = new AS400();
    CommandCall cc = new CommandCall(as400);
    String wrkenvvar_cmd = MessageFormat.format("ADDENVVAR ENVVAR('JAVA_HOME') VALUE(''{0}'') REPLACE(*YES)",path);
    boolean ok = cc.run(wrkenvvar_cmd);

我希望这会有帮助。

这篇关于用户密码*无时的IFS文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆