是否有一个db2函数/过程/变量可以用来确定数据源来自哪个平台?sysibm.sysdummy1是存在的,所以我假设这是Db2,但是根据LUW语法,有些SQL看起来不太正确。是否有一种简单的方法可以通过SQL确定数据源来自哪个平台?
发布于 2019-05-21 21:19:16
这是一个非常开放的问题,因为没有确定的方法来确定服务器版本和平台。你需要应用一些启发式方法。
在Db2 for LUW (而且只有LUW)中,从V10.1开始有一个系统视图dbmcfg可以返回服务器版本:
select value from sysibmadm.dbmcfg where name = 'release'因此,如果它成功了,您将确保它是用于特定发布级别的LUW的Db2。类似地,从v9.7开始,您可以查询sysibmadm.env_inst_info (或者在syscat.tables中首先搜索它)。
LUW的Db2的另一个指标是自V9.7以来存在一些与甲骨文兼容的视图,例如syspublic.dual或sysibmadm.all_objects。
Db2 for z/OS的一个很好的指标是存在特定于大型机的目录表,例如sysibm.locations或sysibm.syscopy,它们至少可以追溯到v9。
在QSYS和QSYS2模式(例如QSYS2.TABLES )中,目录视图的存在将指示I (AS/400)的Db2。
对于z/OS,无论是Db2还是Db2,我都没有SYSCAT模式视图。
https://dba.stackexchange.com/questions/238668
复制相似问题