Python连接DB2数据库
在工作中遇到了这样的情况,项目中需要连接IBM的关系型数据库(DB2),关于这方面的库比较稀少,其中 ibm_db 是比较好用的一个库,网上也有教程,但是好像不准确,也不太详细,错误百出,没办法只能拿到后自己分析源码,总算搞定。 安装 环境需求: 首先是数据库DB2,下载连接直接百度,我下载是这两个文件: 只下载箭头所指即可,我还没在linux上做测试。 数据库API(这个东西找了好久,终于找到了合适的)(找不到搜:SQLAPI.zip) Python2.7 VCForPython2.7 ibm_db(主要的库,在安装中会下载ntx64_odbc_cli库,安装时会检测 IBM_DB_HOME 变量,所以需要安装数据库后再安装ibm_db) 以上模块在网上都可以找到,请自行下载安装。 建库 数据库安装好之后新建一个实例,默认是DB2,然后创建一个新的数据库,我创建的MYTEST(在操作数据库以及链接数据库需注意大小写),命令行方法: 打开命令行处理器:(管理员身份) 输入? 直接回车,会显示命令列表,开启数据库管理器: 然后关闭就好,建立数据库以及创建表还是使用db2 data studio,比较方便,安装时在根目录创建一个临时目录,把文件解压进去,之后再修改install.exe的属性,改成兼容Windows 7运行,同时使用管理员权限打开,之后就是安装安装好之后点击左侧新建一个数据库。 按以上方式填写,用户名和密码使用安装数据库时设置的用户名密码。 实例配置好并且能测试成功就可以创建数据库了。 数据库名称和别名写上即可,其余的由于是测试就不填了,等正式环境在考察下性能优化方面的配置。点击运行创建,过程有点慢,不知道是不是机器配置原因,大概花了十几分钟。 下面就不详细说建表的过程了,值需注意,建表前先简历模式(Schema),使用自定义模式建表。 连接 连接直接导入库 导入ibm_db_dbi即可。 import ibm_db_dbi conn = ibm_db_dbi.connect(“PORT=50000;PROTOCOL=TCPIP;”,host=db[“host”],database=db[“database”],user=db[“user”],password=db[“passwd”]) conn.set_autocommit(True) cursor = conn.cursor() 连接数据库,设置自动提交 查询 sql = “select * from testable” result = cursor.execute(sql) 注意,以上查询方式是错的。正确如下: sql = “select * from MYSCHEMA.TESTTABLE” result = cursor.execute(sql) rows = cursor.fetchall() 这里的操作和MySQL没什么差别了 这个地方被坑了好几个小时,T_T 插入 sql = “insert into MYSCHEMA.TESTTABLE (“uuid”,“content”) values (‘%s',%s)” % (“1234567890”,“asdfghjkl”) result = cursor.execute(sql) 更新 sql = “update ”MYSCHEMA”.”TESTTABLE ” set ”content” = ‘%s' where ”uuid” = ‘%s'” % ( “aaa”,“1234567890”) result = cursor.execute(sql) 如果操作成功,result就是True,注意每个语句的引号,单双必须按以上的方式。 以上就是本文给大家分享的使用Python连接DB2数据库的全部内容了,希望对小伙伴们能够有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |