python查询db2数据库数据_Python 操作 DB2 库_亲测可用

Python连接DB2库有几种方式,本次以IBM出的ibm_db方式为例,网上东拼西凑加自己改,封装了一个调用的方法,废话不多说,直接上介绍

Python连接DB2库方式:https://wiki.python.org/moin/DB2

环境准备

pip install setuptools(依赖工具包)

easy_install ibm_db(IBM的工具包)

代码实例

IbmDBOperate.py(连库、查询方法)

注:SELECT语句中的表名等需要换成实际存在的表名

conn为获取数据库链接时需要用到的参数,我把参数抽到了一个config.py里,如果不想抽出来,去掉config的import,和key=一行,直接用注掉的# conn方法即可

#!/usr/bin/env python

# -*- coding:utf-8 -*-

#########################

# excute python2.7.13

# sudo pip install ibm_db

#########################

import ibm_db

from fastAutoTest.config import config

def connectDataBase():

pass

try:

key = "DATABASE=" + config.database + ";HOSTNAME=" + config.hostname + ";PORT=" + config.port + ";PROTOCOL=TCPIP; UID=" + config.user + ";PWD=" + config.password

# conn = ibm_db.connect("DATABASE=upontest;HOSTNAME=10.10.73.95;PORT=60000;PROTOCOL=TCPIP; UID=usaasfta;PWD=usaasfta", "", "")

conn = ibm_db.connect(key,"","")

except:

print("connect failed,%s" % ibm_db.conn_errormsg())

return conn

def findStoreINFByStoreShortName(storeShortName):

connect = connectDataBase()

sql = "SELECT * FROM UMPAY.T_STORE_INF WHERE STORE_SHORT_NAME ='" + storeShortName +"' "

sql_u = sql.decode('utf-8')

print "执行SQL语句:" + sql

try:

stmt = ibm_db.exec_immediate(connect, sql_u)

dictionary = ibm_db.fetch_both(stmt)

except:

print("stmt failed,%s" % ibm_db.stmt_errormsg())

finally:

if ibm_db.active(connect):

ibm_db.close(connect)

print("database close success!")

return dictionary

test.py(调用封装好的findStoreINFByStoreShortName)

# coding=utf-8

import config

from fastAutoTest.utils import IbmDbOperate

if __name__ == '__main__':

result = IbmDbOperate.findStoreINFByStoreShortName("测试192223")

print result["REGISTER_PROCS_STATE"]

self.assertEqual(result["REGISTER_PROCS_STATE"], '03')

执行结果

6919f69b-053d-4382-86ec-12e5122af625.png!large

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值