更新时间:2025-08-19 GMT+08:00
分享

常见问题

  1. Q:ignoreCount指定不入库的数据量后,是否可以选择具体不入库的数据?

    A:可以选择具体不入库的数据。完整示例中操作符指针operptr可以为SQL_PARAM_IGNORE或SQL_PARAM_PROCEED,其中SQL_PARAM_IGNORE为不入库的操作,SQL_PARAM_PROCEED为入库的操作,通过指定数据不同的operptr可以选择数据的入库行为。

  2. Q:如果批量插入执行失败,所有待插入的数据都会发生回滚,是否能对成功插入的数据进行事务提交,报错的数据进行事务回滚?

    A:不能,插入失败后全部数据均发生事务回滚。推荐在应用代码中将批量的数据划分成更小的批次,通过分批提交并捕获异常。

  3. Q:为什么设置了UseServerSidePrepare=0后,执行批量插入了n条,通过SQLRowCount接口获取到的插入条数只有1条?

    A:该结果符合预期。前置准备中Linux环境下的odbc.ini文件配置中对于UseServerSidePrepare进行了说明:如果UseServerSidePrepare=1则会发送PU/PBE报文,执行软解析,此时SQLRowCount获取的是最后一次更新的条数;UseServerSidePrepare=0则会发送Q报文,执行硬解析,此时SQLRowCount获取的仍是最后一次更新的条数,由于此时Q报文只会发送一条SQL,因此插入条数为1。

相关文档