您好我正在使用Java连接到IBM AS400。
我想读取DDS文件最后一次更改的时间戳,例如:最后一次SQL操作的时间戳(INSERT INTO MyLib/MyDDS VALUES (...)
)。
在5250终端中,我可以选择“使用对象”并通过选择选项5(= show)或简单地DSPFD FILE(MyLib/MyDDS)
打开元数据。
有时间戳。
另一种方法是运行dspjrn jrn(MyLib/MyJournal)
来检查日志及其时间戳。
如何从Java访问时间戳,例如使用JTOpen还是SQL?
谢谢:)
答案 0 :(得分:3)
SYSTABLESTAT似乎有您要查找的信息。
SELECT LAST_USED_TIMESTAMP
FROM QSYS2/SYSTABLESTAT
WHERE TABLE_SCHEMA = 'MyLib' AND TABLE_NAME = 'MyDDS'
答案 1 :(得分:1)
答案 2 :(得分:1)
Java特定
JT400(和JTOpen)提供与QUSRMBRD等系统API接口的类和方法,以及Java函数可用的返回值。
有关会员数据更改(以及其他属性),请参阅com.ibm.as400.access.MemberDescription字段CHANGE_DATE_AND_TIME。
常规强>
本机物理文件(PF)可以允许多个数据成员可以单独更新。成员本质上是包含它们的文件(类型为* FILE)的独立对象(对象类型为* MBR)。 IFS将数据库文件呈现为“容器”,即它们就像它们是目录一样。成员的呈现方式与目录中的流文件非常相似,成员会跟踪对各个成员内容的更改,因为包含的文件对象只有一个“更改”日期。
RTVMBRD是一个本机命令,应该始终存在。我不指望它,但权威可能限制访问。这将是CL通常如何检索数据更改日期。或者,任何语言都可以使用Retrieve Member Description (QUSRMBRD) API来检索成员详细信息。
答案 3 :(得分:0)
在查询中使用此内容...
SharedPreferences sharedPreferences = getSharedPreferences("save",MODE_PRIVATE);
if(!sharedPreferences.getBoolean("opened",false)){
//what you want do once
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("opened", true);
editor.apply();
}
答案 4 :(得分:0)
由于正在使用联接文件,因此使用QSYS2 / SYSTSTAT或QSYS2 / SYSTABLESTAT的响应速度会变慢。为了达到良好的性能,请使用
SELECT DBXATS
FROM QSYS/QADBXREF
WHERE (DBXLIB = 'MyLib' and DBXFIL = 'MyDDS')