4.2.8批量插入数据 当使用 insert 语句插入数据时,通过调用游标的 executemany 方法可以实 现数据批量插入。参见如下样例代码。 from GbaseConnector import connect, GbaseError if __name__ == '__main__': config = {'host':'172.16.0.131', 'user':'root', 'passwd':'111111', 'port':5258, 'db':'test'} try: conn = connect()
conn.connect(**config) cur = conn.cursor() cur.execute("DROp TABLE IF EXISTS test") cur.execute("CREATE TABLE test (COL1 INT, COL2 VARCHAr(20))") opfmt = "INSERT INTO test(COL1, COL2) VALUES(%s, %s)" rows = [] for i in xrange(0, 100): rows.append((i, "row" + str(i))) cur.executemany(opfmt, rows) cur.execute("DROP TABLE IF EXISTS test") except GbaseError.DatabaseError, err: print err finally: conn.close()
4.2.9获取加载返回信息 #!/bin/env python from GbaseConnector import connect, GbaseError connStr = {'host':'192.168.6.89','port':5258, 'user':'gbase','passwd':'gbase20110531', 'database':'test', 'connection_timeout':9999999, 'charset':'utf8'} conn = connect (**connStr) cursor = conn.cursor() cursor.execute("LOAD GCLUSTER DATA INFILE 'ftp://gbase:gbase@192.168.6.94/rebalance_tmpdata/lineitem.tbl' into table t1 fields terminated by '|';") print cursor.info print cursor.rowcount cursor.close() conn.close()
5 Gbase Python 常见问题 本章节介绍使用 Gbase Python 时操作 Gbase 数据库时遇到的常见问题及解 决方法。
5.1 SQL 语句执行后,长时间没返回的处理 客户端应用使用接口时如遇 SQL 语句过于复杂,导致服务器长时间未将结 果返回给客户端时(超时时间默认值 30 秒),客户端会抛出超时异常。若避免 此情况的发生可在连接参数中指定 connection_timeout 参数为一个较大的值。
6 Gbase Python 客户端类 接口驱动基于 Python Database API 2.0 标准,并实现了标准中定义的类、 属性、方法。请看如下表
6-1 介绍。 表格 6-1 Gbase Python 客户端类 类 描 述 GbaseConnection 连接类。负责接口和 Gbase 数据库端之间的 命令传输和数据接收。 GbaseCursor 游标类。游标类对外提供了操作 Gbase 数据 库主要接口。包括执行 SQL 查询,获取结果 集,执行存储过程,获取存储过程结果集功 能。 GbaseError 异常类,定义了 Gbase 数据库和 Python 标准 异常之间的映射关系。
6.1 连接类 此类可以打开和管理一个到 Gbase Server 的连接。通常用于发送 SQL 命令 和读取结果。
6.1.1属性
6.1.1.1 user 此属性用来获取连接参数中定义的用户名。 类型 值 默认值 可读写 string 非空字符串 ‘’ read
6.1.1.2 host 此属性用来获取连接参数中定义的主机地址。 类型 值 默认值 可读写 string 有效的 IPV4 地址 127.0.0.1 read
6.1.1.3 port 此属性用来获取连接参数中定义的主机端口号。 类型 值 默认值 可读写 int 有效的端口号 5258 read
6.1.1.4 database 此属性用来设置获取连接参数中定义的数据库。 类型 值 默认值 可读写 string 非空字符串 ‘’ read/write
6.1.1.5 autocommit 此属性用来设置获取自动提交模式,此模式在支持事务的产品中有效。为 True 时,自动提交模式开启,执行任何 DML 语句时数据的更改立刻生效。为 False 时,自动提交模式关闭,受影响数据不会立刻生效。 类型 值 默认值 可读写 bool True / False True read/write



