打印

再问一个DB2 CLI 批量插入数据问题--关于sample里面的tbload.c

再问一个DB2 CLI 批量插入数据问题--关于sample里面的tbload.c

db2 sample tbload.c中主要讲使用load机制实现大数据量的插入,这正是我需要的
但是我模仿sample做出的代码不但执行插入不成功还导致表被锁

我想问问关于SQLBindParameter这个函数参数BufferLength的用法,文档说BufferLength在插入单条的时候是buffer的长度,多条的时候是每个buffer的长度,可是多条的情况下比如一个vchar字段,长度不一样啊,这个参数应该怎么填写呢,偏偏不巧tbload.c的例子插入的都是一样的字符串,所以这个例子无法说明这个参数的使用。

请高手给我指点

TOP

能不能就根据VCHAR定义设成最大的LENGTH?

DB2 PROGRAMMING的问题LZ基本上要自己搞定。

刚开始做工时还写写DB2的C,CLI程序。这几年四处转转,还没再见到有人写DB2的C,CLI程序了。

TOP

不行,我已经尝试了,最让我恼火的是这句话


For  character  and  binary  C  data,  the  BufferLength  argument  specifies  the  length  of
the  ParameterValuePtr  buffer  if  it  is  a  single  element;  or,  if  the  application  calls
SQLSetStmtAttr()  with  the  SQL_ATTR_PARAMSET_SIZE  attribute  to  specify
multiple  values  for  each  parameter,  《〈BufferLength  is  the  length  of  each  element  in  the
ParameterValuePtr  array, 〉》 including  the  null-terminator.  If  the  application  specifies
multiple  values,  BufferLength  is  used  to  determine  the  location  of  values  in  the
ParameterValuePtr  array.  For  all  other  types  of  C  data,  the  BufferLength  argument  is
ignored.

注意我用书名号括起来那句,他说BufferLength  这个参数是值数组中每一个要插入元素的长度,这BufferLength  就一个参数怎么可能表示每一个元素长度???
除非所有元素长度一样? 就跟他tbload.c的例子一样

TOP

DB2的C研究过一段,放弃了...
茅屋之下,或有贤良; 蒿草之中,或有兰香. Blog:http://bpmfhu.itpub.net/

TOP

过时的技术而已

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-12-3 09:11 京ICP证060528 号

Designed By 17DST