如题,网上看了不少,都是相互之间抄,也没有什么参考价值。所以来这里希望大牛帮忙解决一下。
想要完成的功能就是把excel中的数据批量导入到oracle中的数据表中。
现在已经成功读取了excel中的数据到datatable dt中,就是想要把dt中的每一行批量插入数据库对应的表中。逐条插入的就算了。先谢谢啦。
数据库中的表名为test1,字段只有id和name.dt中的格式跟数据表是一样的。
如果用OracleaDataAdapter,那个更新的sql怎么写?希望大牛给出两行代码。

解决方案 »

  1.   

    http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataset/thread/221b4ca1-813c-4681-8647-5b542a0ba6ff这里也许有你要的答案。看里面的代码。
      

  2.   

    我是想把excel中的数据插入进oracle数据表中,现在我已经把excel中的数据读入到了datatable中了,就是想批量的把datatable中的数据插入的对应的oracle数据表中
      

  3.   

    oracle11g的话应该有OracleBulkCopy
      

  4.   

    标准SQL就没有批量这个概念,本质上都是一条条的做。当然你可以使用存储过程或者事务,但是本质还是要一条条的做。
      

  5.   


    那有一万条数据的话,就要有一万条insert语句吗?ADO中有没有相应的优化的方法呢?
      

  6.   

    ADO再怎么优化也是枉然啊,这需要数据库支持。数据库可以支持批量提交,但其实也是1万次insert
      

  7.   


    你所说的批量提交,是不是在一个SqlCommand的Text的属性以文本的方式写入一个包含一万条insert的字符串,然后再execute?
      

  8.   

    之前做的就是一次一次的insert,每次都要连接数据库插入,非常耗时。
    现在呢,我把存储excels数据的datatable,一行一行的加入到返回oracle中数据表的ds中,最后再update,不知道这样做在本质上有没有性能的提升?
      

  9.   

    所谓的优化是保持这一万次的sqlconnection,大家都知道connection是非常宝贵的资源,所以你的做大批量的操作的时候优化在这里。
    但本质上,是做了一万次操作。
      

  10.   


    你的意思是说,批量插入,就是在一个Connection的前提下,insert一万次?