# coding=utf-8
import ibm_db
class db2_monitor(object):
def __init__(self, database, hostname, port, protocol, uid, pwd):
self.database = database
self.hostname = hostname
self.port = port
self.protocol = protocol
self.uid = uid
self.pwd = pwd
self.result = {}
# 数据库无效包检查
def check_invalid_package(self):
try:
conn_cfg = "database={database};hostname={hostname};port={port};protocol={protocol};uid={uid};pwd={pwd};"
cfg_info = conn_cfg.format(database=self.database,
hostname=self.hostname,
port=self.port,
protocol=self.protocol,
uid=self.uid,
pwd=self.pwd)
conn = ibm_db.connect(cfg_info, "", "")
conn_state = ibm_db.active(conn)
if conn_state is True:
sql = "select distinct PKGNAME from syscat.packages where PKGSCHEMA='ODS' and valid<>'Y'"
stmt = ibm_db.exec_immediate(conn, sql)
res = ibm_db.fetch_assoc(stmt)
print res
with open('/tmp/check_invalid_package.log', 'wt') as f:
f.write(json.dumps(result))
return self.result["res"]
except Exception as e:
return "connect failed: %s" % str(e)
db = db2_monitor("testdb", "10.20.10.9", "50000", "TCPIP", "db2inst1", "12345678")
db.check_invalid_package()