none
【求助】关于C#使用ODBC的连接方式,对数据库批量插入数据 RRS feed

  • 问题

  • 已知的是使用OdbcDataAdapter.Update()可以进行批量的更新,但是效率非常低。
    除了这个方法还有什么其他的方法吗?

    给个OdcbCommand.ExecuteNonQuery()的实例也行
    我尝试过这种方法,但是一直卡在了无法将DataTable整列的数据设置为数据源。可以装进了OdbcParameter.Value里,但是执行ExecuteNonQuery()时就会报错。

    OdbcDataAdapter.Update()效率低的原因:
    因为OdbcDataAdapter.UpdateBatchSize默认设置为1
    1.每个批处理要处理的行数。值为效果0批大小没有限制。如果是1相当于禁用了批量更新,所以效率非常低。
    2.System.Data.IDbCommand.UpdatedRowSource 属性设置为 None 或 OutputParameters。否则,将引发异常。(已设置)

    我尝试着设置为0,但是一直报异常: 异常:System.NotSupportedException 不支持所指定的方法 。
    有查到回答是:ODBC和OLEDB都是不支持设置updatebatchsize。
    所以我已经放弃了使用OdbcDataAdapter.Update()。
    2015年9月25日 8:52

答案