.NET大批量插入数据到Oracle

跟一个第三方系统作接口,须要插入几百万条数据到Oracle数据库。html

下载Oracle的Managed版本的ODP.NET组件,只须要一个Oracle.ManagedDataAccess.dll这个DLL就能够搞定了,使用数组参数的方式,能够毫秒级插入几百万条数据。
下载地址
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
示例代码以下:sql

string[] codeValue = new string[shopList.Count];
                            string[] nameValue = new string[shopList.Count];
                           
                            int j = 0;
                            foreach (Shop shop in shopList)
                            {
                                codeValue[j] = shop.Code;
                                nameValue[j] = shop.CName;
                    
                               j++;
                            }
                            command = new OracleCommand(sql, connection);

                            sql = string.Format("INSERT INTO SHOP_ALL VALUES(:Code,:CName)");
                            command.ArrayBindCount = shopList.Count;            //批量插入记录的条数,必定要赋值
                            command.CommandText = sql;

                            OracleParameter codePara = new OracleParameter("Code", OracleDbType.NVarchar2);
                            codePara.Direction = ParameterDirection.Input;
                            codePara.Value = codeValue;
                            command.Parameters.Add(codePara);

                            OracleParameter nameParameter = new OracleParameter("CName", OracleDbType.NVarchar2);
                            nameParameter.Direction = ParameterDirection.Input;
                            nameParameter.Value = nameValue;
                            command.Parameters.Add(nameParameter);

                            command.ExecuteNonQuery();
相关文章
相关标签/搜索