1.没有权限进入distribution directory

wrklnk 'QDLS\'  

 >User not enrolled in system distribution directory.



Selection or command                                                     

===> ADDDIRE USRID(USERID SYSNAME) USRD(DESCRIPTION) USER(USRPROFILE)   

F3=Exit   F4=Prompt   F9=Retrieve   F12=Cancel                           

User ID and address already exists in the system distribution directory.

创建distribution directory

CRTDIR DIR('/qdls/TEST/BACKUP')



没有权限进入某个distribution directory

Unfortunately (well as far as I know anyway), there is another place to look¡­ the iSeries NetServer disabled UserIDs.  The images below explain how to access a list of User Profiles that the system has disabled from accessing system resources over TCP/IP using
iSeries Navigator.

 1).Connect to your server through iSeries Navigator

 2).Expand Network

 3).Expand Servers

 4).Select TCP/IP

 5).Right-Click iSeries NetServer

 6).Select the UserIDs that you would like to re-enable

 7).Click the [Enable User ID] button



unable to map a drive to the IFS

WIN7有可能是Policy的问题

Local Security Policy -> Security Settings -> Local Policies -> Security Options

Network security:LAN Manager authentication level - Send LM & NTLM - use NTLMv2 session security if negotiated

Microsoft network server:Digitally sign communicatioins(always)  - Disabled



2.SQL太长,放文本里执行

RUNSQLSTM SRCFILE(SRCPF/TESTLIB) SRCMBR(TESTSQL) NAMING(*SQL)



3.用jdbc连接AS400的时候会需要用到database name

WRKRDBDIRE



4.查看当前AS400的版本

DSPSFWRSC

 (Display Software Resources)

按F11看 5722999 的 Release 版本   VXRXM0 LXX



5.使用CPYFRMIMPF upload数据到iSeries的时候如果是CSV,字段包含:使得导入后数据会错误,可以使用TXT文本

 ===> CPYFRMIMPF FROMSTMF("/qdls/TEST.CSV") TOFILE(TESTLIB/TESTPF) MBROPT(*ADD) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(',') 



 ===> CPYFRMIMPF FROMSTMF('QDLS/TEST.txt') TOFILE(TESTLIB/TESTPF) MBROPT(*ADD) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(*TAB) RPLNULL

VAL(*FLDDFT)                                                                        

 

6.DUMP的使用

free格式是

dump 'test1';

标准格式是

c     'test1'       dump     

要确保H上面有DEBUG参数才生效

H DEBUG



7.全部用户的spool file

 WRKSPLF SELECT(*all)

 全部用户的joblog

 WRKSPLF SELECT(*ALL *ALL *ALL *ALL *ALL QPJOBLOG) 

 某个用户

WRKSPLF SELECT(USER)

某个用户的某个batch job

WRKSPLF SELECT(USER *ALL *ALL USERJOB)



8.查看LF的source位置

DSPOBJD



9.FTP

ftp 'ipaddress'

>BIN

>NAMEFMT 0

>quo site namefmt 1

>GET TESTSRCPF/TESTLIB TESTSRCPF/TESTLIB2 (REPLACE



With FTP you can use the IFS structure in the FTP script.

For example:

Quote site namefmt 1

 Cd /tmp

 Lcd /localdir

 Put something.



10.查看MSGF里面的全部Message

DSPMSGD RANGE(*ALL) MSGF(TESTLIB/MSGF) DETAIL(*BASIC) OUTPUT(*PRINT)



放在PF中

DSPMSGD RANGE(*ALL) MSGF(HR2000/HRMSG) DETAIL(*BASIC) OUTPUT(*PRINT)

CRTPF FILE(TESTLIB/MSGPF) RCDLEN(200) 

CPYSPLF FILE(QPMSGD) TOFILE(TESTLIB/MSGPF) SPLNBR(1)



11.Debug submit出来的job

1). 以HOLD(*YES)参数提交JOB 到QBATCH JOB 中,让JOB 暂时挂起;

2). 使用WRKSBMJOB 查看所提交的JOB 的以下3 个参数值:

*Job id

 *User Name

 *Job Number

 3). 执行STRSRVJOB,填入第2 步骤获得的3 个参数进行QBATCH JOB 服务过程;(如果在同一个作业中进行,就不用填这3个参数了,道理和CPYSPLF一样,我自己的理解)

4). 执行STRDBG 开始DEBUG;

5). 利用F21 键切换到命令行,在命令行执行WRKSBMJOB,使用6=Release 释放挂起的

 第1 步骤提交的JOB,然后系统允许你按F10 输入DEBUG 命令(注意:不要键入执行,

 否则在设立断点之前键入执行,程序就会运行,因而无法进行debug 断点设置);

6). 在OS/400 命令行窗口;执行DSPMODSRC 后,可通过F6 设置断点;然后按F3 退出,

 再按F12 退出命令行;

7). 键入执行释放挂起的JOB;程序将在断点中停留;可以使用交互式DEBUG 使用DEBUG

命令进行处理

8). 一旦程序或者JOB 结束,使用ENDDBG 和ENDSRVJOB 结束操作。



HLDJOBQ JOBQ(QGPL/QBATCH) 

submit job

STRSRVJOB JOB(012345/USER/USERJOB)     

STRDBG PGM(TESTPGM) UPDPROD(*YES)  

F21=Command entry

RLSJOBQ JOBQ(QGPL/QBATCH) 

F10

dspmodsrc

SET BREAKPOINT...

F3

F12

enter

debug...

ENDDBG

ENDSRVJOB



12.RPG语言

================

Z-ADD   :数值型的附值语句(Z-ADD A   B相当于 B=A)

MOVEL :移动数据语句 MOVEL A   B 是把A的值从左边开始送到B中。

MOVE: 功能于MOVEL类似,区别在于它是从右边开始传送。

MOVEL (P):MOVEL和MOVE的操作在把短的传到长的中时,并不会覆盖其余的部分,因此,  

        加一个扩展功能用的P来表明操作要覆盖其余的部分。

SUB:数值类型的减操作

ADD:加操作

MULT:乘操作

DIV:除操作

MVR:除之后的取余操作

BEGSR:子过程开始

ENDSR:子过程结束

EXSR: 调用子过程

EXFMT:画面记录的显示操作命令

WRITE:写文件记录的操作

UPDAT:更新文件当前记录

DELET:删除文件当前记录

READ:读文件操作(顺序读)

READE:按键值顺序读文件的下一条

READP:向前读文件的一条记录

REDPE:按键值向前读文件的一条记录

CHAIN:随机检索与键值相同的记录

SETLL:文件指针定位操作,所停的位置在小于等于指定键值的前面。

SETGT:文件指针定位操作,所停的位置在等于大于指定键值的后面。

DOWXX (XX=GT, LT, EQ, LE, GE):当循环(XX=大于,小于,等于,小于等于,大于等于)

DOUXX (XX=GT, LT, EQ, LE, GE):直到循环(XX=大于,小于,等于,小于等于,大于等于)

ITER:跳出本次循环(DO),进行下一次循环

LEAVE:结束整个循环,进行循环下面的语句

IFXX (XX=GT, LT, EQ, LE, GE):条件判断(XX=大于,小于,等于,小于等于,大于等于)

SELEC:分支条件开始语句

WHXX (XX=GT, LT, EQ, LE, GE):各个分支的条件判断语句(XX=大于,小于,等于,小于等 于,大于等于)

OTHER:SELECT部分中所有WHEN条件均不成立时执行的部分(可以省略)

ENDXX (IF, DO, SL):循环和分支结构的结束标志语句。

SETON/OFF:将指示器的值设置为 1或 0

PLIST:参数列表名称的定义

PARM:各个参数的定义

KLIST:键值列表名称的定义

KFLD:键值中的各个键域的定义。

CLEAR:清除某个字段或数据域的值。

TIME:取得系统当前的日期或时间

================

ITER:跳出本次循环(DO),进行下一次循环

LEAVE:结束整个循环,进行循环下面的语句

================

READ:读文件操作(顺序读)

READE:按键值顺序读文件的下一条

READP:向前读文件的一条记录

REDPE:按键值向前读文件的一条记录

CHAIN:随机检索与键值相同的记录

SETLL:文件指针定位操作,所停的位置在小于等于指定键值的前面。

SETGT:文件指针定位操作,所停的位置在等于大于指定键值的后面。

================

13.submit了job后发现status是JOBQ,停住不动

WRKJOBQ QGPL/TESTJOBQ

会发现状态是RLS,正常是RLS/SBS,说明这个JOBQ没有attach去SBS

dspsbsd sbsd(qbatch)

   6. Job queue entries 

可以show出这个subsystem下attach的所有jobq

ADDJOBQE SBSD(QBATCH) JOBQ(QGPL/TESTJOBQ) SEQNBR(17)

这样这个JOBQ挂起的JOB都继续进行,跑完然后是OUTQ status



Adding A Job Queue To A Batch Subsystem

http://www.itjungle.com/fhg/fhg051513-story03.html



Add Job Queue Entry (ADDJOBQE)

http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/cl/addjobqe.htm



14.Submit Job的时候报错No authority to message queue

wrkobj username

发现同时在QSYS和QUSRSYS上有同名的*MSGQ,当submit job的时候优先用QSYS上的,但自己的profile却没有权限
果断把QSYS上的rename掉,之后就又可以愉快地submit job了



15.do a SQL SELECT on a table that has more than one member and I want do specify the name of the member.



create alias  mylib/myalias   for testlib/testfile(testmem)

select * from mylib/myalias    

drop alias  mylib/myalias  



Creating and using ALIAS names

http://www.ibm.com/support/knowledgecenter/ssw_i5_54/sqlp/rbafycreatingalias.htm



16.WRKJOBSCDE - Work with Job Schedule Entries




AS400遇到的一些问题和解决办法的更多相关文章

  1. 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)

           首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...

  2. 使用JSONObject.fromObject的时候出现“There is a cycle in the hierarchy”异常 的解决办法

    在使用JSONObject.fromObject的时候,出现“There is a cycle in the hierarchy”异常.   意思是出现了死循环,也就是Model之间有循环包含关系: ...

  3. logstash file输入,无输出原因与解决办法

    1.现象 很多同学在用logstash input 为file的时候,经常会出现如下问题:配置文件无误,logstash有时一直停留在等待输入的界面 2.解释 logstash作为日志分析的管道,在实 ...

  4. Android权限管理之Android 6.0运行时权限及解决办法

    前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...

  5. Android性能优化之利用LeakCanary检测内存泄漏及解决办法

    前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...

  6. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  7. 当web.config文件放置在共享目录下(UNC),启动IIS会提示有错误信息500.19,伴随有错误代码0x80070003和错误代码0x80070005的解决办法

    最近遇到一个很有意思的使用环境,操作人员将所有的网站应用内容投放到共享存储里面,并且使用微软的SMB协议将其以CIFS的方式共享出来,使用Windows Server 2008 R2的IIS将其连接起 ...

  8. Nested Loops join时显示no join predicate原因分析以及解决办法

    本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...

  9. 调用微信退款接口或发红包接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

    我总结了一下出现证书无法加载的原因有以下三个 1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应 ...

随机推荐

  1. FFmpeg中AVFrame.linesize的含义

    在第一节FFmpeg开发教程一.FFmpeg 版 Hello world中遇到一个问题,在保存YUV的时候,粗暴的使用: fwrite(buf, 1, xsize * ysize, f); 方式去拷贝 ...

  2. 用mkdocs在gitee码云上建立一个简单的文档博客

    利用mkdocs建立简单的文档博客 一.概述 MkDocs 是一个用于创建项目文档的 快速, 简单 , 完美华丽 的静态站点生成器. 文档源码使用 Markdown 来撰写, 用一个 YAML 文件作 ...

  3. mininet安装配置

    mininet安装配置 安装mininet mininet使用 在VM中运行mininet 安装VMware,在VMware中打开下载好的mininet虚拟机映像 启动虚拟机,虚拟机的初始账号密码均为 ...

  4. Android—网络请求

    import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; ...

  5. 怎样获取iframe节点的window对象

    需要使用iframeElement.contentWindow;  var frame = document.getElementById('theFrame'); var frameWindow = ...

  6. threejs CameraHelper 查看照相机的观察范围

    简单例子 这个例子,是在一个视图中,看到照相机的辅助线,也就是,一个照相机的观察访问 这样,就需要两个照相机,一个是主照相机,一个是加有辅助线的照相机(有两种,正交和透视,这里辅助的使用的是正交的) ...

  7. 多进程,多线程,使用sqlalchemy 创建引擎(单例模式),闭包装饰器承载数据库会话,装饰模型类的类方法

    python 多进程,多线程,使用 sqlalchemy 对数据库进行操作 创建引擎 & 获取数据库会话: 使用类的方式,然后在对象方法中去创建数据库引擎(使用单例,确保只创建一个对象,方法里 ...

  8. 我们为什么要通过python来入IT这一行

    我们为什么要通过python来入IT这一行 导语 ​ 这个问题,其实大部分在选择转行做IT,或者在行业内处于边缘化的非技术人员都会有这样的疑惑.毕竟,掌握一门技能,是需要花成本的.决策之前,做个前景判 ...

  9. Django_rest_framework分页

    分页基本流程及配置 1.基于LimitOffsetPagination做分页,根据配置 from rest_framework.pagination import LimitOffsetPaginat ...

  10. 【Distributed】分布式解决方案【汇总】

    一.问题引出 二.分布式Session问题 三.网站跨域问题 四.分布式任务调度平台 五.分布式配置中心 六.分布式锁解决方案 七.缓存技术 一.问题引出 [Distributed]分布式系统中遇到的 ...