C# oracle 10万数据批量插入 求高效解决办法??

.Net技术 码拜 6年前 (2015-05-10) 490次浏览 0个评论
 

C# oracle 10万数据批量插入 求高效解决办法??

10分
oracle没有sqlbulkcopy
这是网上找到的
10分
同网上找的
10分
如果我没记错有个三方的OracleBulkCopy
50分
/// <summary>
        /// DataTable批量写入到Oracle 
        /// </summary>
        /// <param name="dataTable">待写入DataTable</param>
        /// <returns>true:写入成功;false:写入失败</returns>
        public static bool OracleBulkCopy(DataTable dataTable)
        {
            using (Oracle.DataAccess.Client.OracleConnection oracleConnection = new OracleConnection(BusinessConnString))
            {
                oracleConnection.Open();
                Oracle.DataAccess.Client.OracleBulkCopy oracleBulkCopy = new Oracle.DataAccess.Client.OracleBulkCopy(oracleConnection);
                oracleBulkCopy.DestinationTableName = dataTable.TableName;
                try
                {
                    oracleBulkCopy.WriteToServer(dataTable);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
DataTable 定义要跟数据库表字段一至吗?
20分
BlukCopy,
DataTable定义和数据库一致。即便Blukcopy,10w数据量也建议1w一个批次插入。
oracle的blukcopy,字节类型字段要注意,数据库定义需要比实际多1个字节,不然报错。。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# oracle 10万数据批量插入 求高效解决办法??
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!