Bulk

addrow

语法:

Bulk.addrow(*args)

说明:

添加单行数据, 位置参数必须按照初始化Bulk对象时设置的列描述格式来,必须在Bulk未关闭情况下添加数据,并可反复多次调用addrow或addrows添加数据。

举例:

bulk.addrow(
            "testBulkaddOneRow_1",
            b'a'*30,
            1,
            1.23,
            [1,"collist"],
            {"a":1,"b":2,"c":"c3"},
            ("tuple_Val", "tuple_Val1"),
            "None",
            datetime.datetime.now()
)

addrows

语法:

Bulk.addrows(data_rows)

说明:

data_rows: 多行数据,列表类型。其中包含了每行数据的内容。 添加每行的数据必须对应列描述来,如果Bulk.colsDesc为空,将按照插入表的所有字段依次格式化每行数据,每行数据类型可以是元组或者列表。

添加多行数据,addrows添加多行数据,可以添加单行数据,数据格式可以是[(...), (...), ...], 也可以是[[...], [...], ...]。 必须在Bulk未关闭情况下添加数据,并可反复多次调用addrow或addrows添加数据。

举例:

当每行数据是元组:

data_rows = []
for i in range(1):
    data_row_tuple = ("testRowdataIsList_%d" %(i+1), b'a'*300,i+1, i+0.23, [i+1,"collist"],
                    {"a":1,"b":2,"c":"c3"}, ("tuple_Val", "tuple_Val1"), "None", datetime.datetime.now())
    data_rows.append(data_row_tuple)
bulk.addrows(data_rows)

当每行数据是列表:

data_rows = []
for i in range(2):
    data_row_list = ["testRowdataIsList_%d" %(i+1), b'a'*300,i+1, i+0.23, [i+1,"collist"],
                    {"a":1,"b":2,"c":"c3"}, ("tuple_Val", "tuple_Val1"), "None", datetime.datetime.now()]
    data_rows.append(data_row_list)
bulk.addrows(data_rows)

excute

语法:

Bulk.excute()

说明:

当加载完数据后,提交数据到数据库

close

语法:

Bulk.close()

说明:

关闭 Bulk,关闭Bulk对象后,无法添加数据,无法获取buffSize和numRows属性。

buffSize

语法:

Bulk.buffSize

说明:

Bulk对象的缓存大小,默认1M,该属性仅在初始化Bulk对象时可设置,仅当Bulk对象没被close时可以获取该属性。

colsDesc

语法:

Bulk.colsDesc

说明:

大容量导入的字段描述符,该属性仅在初始化Bulk对象时可设置。在插入的数据的顺序与表中的顺序不一致或者并非导入数据库中所有列时,需要提供符合格式的列描述语句,如"B text,A text"

numRows

语法:

Bulk.numRows

说明:

成功插入到数据库的行数,仅当Bulk对象没被close时可以获取该属性,只读属性。

schema

语法:

Bulk.schema

说明:

bulk的模式名,默认是SYSDBA,该属性仅在初始化Bulk对象时可设置。